Italia
C ++ Foro

Erledigt: glOrtho scheitert?

 
- 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?)
KompilierenMarkierenSeparieren
cls
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


1.032 kB
Kurzbeschreibung: xprofan11
Hochgeladen:05.04.2009
Downloadcounter161
Download
5 kB
Hochgeladen:05.04.2009
Downloadcounter236
Download
307 kB
Kurzbeschreibung: prf2cpp2.0a
Hochgeladen:05.04.2009
Downloadcounter122
Download
 
05.04.2009  
 



 
- Page 1 -



KompilierenMarkierenSeparieren
P2CPP: <USE_CALL_ST>
call(__cf1&,$1701)
P2CPP: </USE_CALL_ST&g
re>

würde dann zu welchem c++-Source konvertiert werden?
 
06.04.2009  
 




Sebastian
König
iF

KompilierenMarkierenSeparieren
P2CPP: <USE_CALL_ST>
call(__cf1&,$1701)
P2CPP: </USE_CALL_ST&g
re>

würde dann zu welchem c++-Source konvertiert werden?


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
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.04.2009  
 



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.
 
06.04.2009  
 



 
- 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.
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.04.2009  
 



Hab eigentlich nur immer ich diese Qual der Wahl zwischen Syntax und Performance oder reden andere nur nicht darüber?

Danke Sebastian!

Thema erledigt
 
06.04.2009  
 



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...
 
06.04.2009  
 



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.
 
06.04.2009  
 




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:
KompilierenMarkierenSeparieren
Ein Szenario zur Anwendung dieses Features sind zum Beispiel mit Aiuto von Profan2Cpp erzeugte DLL.


MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.04.2009  
 



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.
 
06.04.2009  
 




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
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.04.2009  
 



Klingt doch super, dann liesse sich das Inline-Prf2CPP vielleicht per XPSE herzaubern.
 
06.04.2009  
 



-falschpost-
 
08.04.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

13.295 Views

Untitledvor 0 min.
Sven Bader25.07.2021
funkheld25.05.2016
iF09.11.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie