| |
|
|
- Page 1 - |
|
| Hallo Sebastian, bei diesem mit XProfan 11 korrekt ausgeführten Quelltext wird neben dem Kubus eine rote Linie gezeichnet - aber nicht wenn man mit der Prf2Cpp 2.0a + Borland 5.5 kompiliert. Hast Du eine Idee woran das liegt? (Typen?) KompilierenMarkierenSeparierencls
var xx&=width(%hWnd)
var yy&=height(%hWnd)
ogl(init,%hWnd,0,0,0,0)
ogl(posmode,1)
ogl(clear)
ogl(color,3,0,0,3)
ogl(move,0,0,-5)
ogl(cuboid,1,1,1)
ogl(origin,0,0,0)
glMatrixMode(GL_PROJECTION)
ogl.ortho(0,yy&-1,xx&,-1,0-xx&,xx&)
ogl.line(10,10,200,100)
ogl(show)
waitInput
end
proc OGL.ORTHO
PARAMETERS X&,Y&,XX&,YY&,Z&,ZZ&
OGL(glLoadIdentity)
OGL(glViewport,0,0,WIDTH(%HWND),HEIGHT(%HWND))
DECLARE MEM#
DIM MEM#,48
FLOAT MEM#,0=X&,XX&,Y&,YY&,Z&,ZZ&
OGL(glOrtho,LONG(MEM#,0 ),LONG(MEM#,4 ),LONG(MEM#,8 ),LONG(MEM#,12),LONG(MEM#,16),LONG(MEM#,20),LONG(MEM#,24),LONG(MEM#,28),LONG(MEM#,32),LONG(MEM#,36),LONG(MEM#,40),LONG(MEM#,44))
DISPOSE MEM#
endproc
proc OGL.LINE
PARAMETERS X!,Y!,XX!,YY!
OGL(glBegin,1)
OGL(glVertex3f,X!,Y!,0)
OGL(glVertex3f,XX!,YY!,0)
OGL(glEnd)
endproc
|
|
|
| |
|
|
|
| |
|
- Page 1 - |
|
| |
|
| |
|
|
|
Sebastian König | iF
Call_ST(l__cf1, 1, _L(0x1701L));
Das ST steht per same thread, also ein Call(), das ohne Wechsel im Kontext des aufrufenden Threads stattfindet.
MfG
Sebastian |
|
|
| |
|
|
|
| Und wenn ich z.B. per einem Inline-ASM im Inline-Cpp ein CALL schreibe, landet dieses dann im OGL-Thread?
Ich will einfach jeden Umweg circa Wrapperfunktionen umgehen, wenn schon in die schnelleren Calls umgewandelt wird. |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
Sebastian König | iF
Und wenn ich z.B. per einem Inline-ASM im Inline-Cpp ein CALL schreibe, landet dieses dann im OGL-Thread?
Ich will einfach jeden Umweg circa Wrapperfunktionen umgehen, wenn schon in die schnelleren Calls umgewandelt wird. Ja, Inline-C++ Blöcke langen immer im Profan-Thread (den Namen verwende ich intern ).
Bedenke aber, dass Du Dich mit der Verwendung von Inline-ASM innerhalb des Inline-C++ Blocks (mehr oder weniger) an einen Compiler bindest. Zumindest Dev-C++/MinGW verwendet eine andere Syntax als Microsoft und Borland. |
|
|
| |
|
|
|
| Hab eigentlich nur immer ich diese Qual der Wahl zwischen Syntax und Performance oder reden andere nur nicht darüber?
Danke Sebastian!
Thema erledigt |
|
|
| |
|
|
|
| Inline-C++? Klingt geil. Wie geht das bitte? Könnte man da nicht das shebang-Konzept verwenden, sprich, die erste Zeile + 1 Leerzeile bestimmt den Präprozessor? Bei CGI´s ja zB recht beliebt... |
|
|
| |
|
|
|
| Für Inline-C hat Sebastian imho neulig ein Switch bereitgestellt - also per Code welcher nicht nach C übersetzt wird sondern 1:1 übernommen wird. Habs aber auch nur am Rande mitbekommen. |
|
|
| |
|
|
|
Sebastian König | iF
Für Inline-C hat Sebastian imho neulig ein Switch bereitgestellt - also per Code welcher nicht nach C übersetzt wird sondern 1:1 übernommen wird. Habs aber auch nur am Rande mitbekommen.
Genau so ist es, wobei es zusätzlich noch einen Hilfestellung zum Zugriff auf Variablen mit ihrem XProfan-Namen. Hier mal der entsprechende Teil aus der Profan2Cpp-Aiuto:
Profan2Cpp-Aiuto
Ab Profan2Cpp Version 2.0 ist es possibile, C++ Code direkt in ein (X)Profan-Programm einzubetten. Alles, was mit dem Spezial-Kommentar INLINE_CPP eingekapselt ist, wird beim Übersetzen direkt in die erzeugte .cpp-File übernommen. Um Profan-Variablen in diesem Code zu verwenden, sollten sie als PVAR(name) geschrieben werden. Beispiel: KompilierenMarkierenSeparierenEin Szenario zur Anwendung dieses Features sind zum Beispiel mit Aiuto von Profan2Cpp erzeugte DLL.
MfG
Sebastian |
|
|
| |
|
|
|
| Ha, dann weiss ich was z.B. ich gerne hätte, umgekehrt - also inlinePrf2CPP im XProfan-Code. KompilierenMarkierenSeparieren Und am liebsten als Konsolenanwendung welche keine Tastatur-Eingriffe vom Benutzer abverlangt. |
|
|
| |
|
|
|
Sebastian König | iF
Ha, dann weiss ich was z.B. ich gerne hätte, umgekehrt - also inlinePrf2CPP im XProfan-Code. (...) Und am liebsten als Konsolenanwendung welche keine Tastatur-Eingriffe vom Benutzer abverlangt.
Dafür sehe ich leider keine gute Möglichkeit... sorry Aber zum Auslagern von einzelnen Performance-kritischen Sachen gibt es ja die Möglichkeit, DLL mit Profan2Cpp zu erstellen.
Mit diversen Optionen kannst Du Profan2Cpp übrigens recht gut circa die Kommandozeile steuern. Neben den Schaltern per File und Verzeichnisse sind z.B. -silent und -close. Eine Liste zeigt der Start mit -h.
MfG
Sebastian |
|
|
| |
|
|
|
| Klingt doch super, dann liesse sich das Inline-Prf2CPP vielleicht per XPSE herzaubern. |
|
|
| |
|
|
|
| |
|
| |
|
|