Español
Foro

ogl y xpse

 
- Página 1 -



Andreas
Koch
¡Hola zusammen,

una kurze Cuestión para Thema opengl y xpse: hay una Möglichkeit, una ogl("xyz",...) Befehl en un nproc einzubauen?
Konkret es en el Befehl oGL("TestMouse", X, Y, Z), o @oGL("TestXY", X, Y, Z, SX, SY).
Der Testmodus de opengl funktioniert no siempre así dolle y yo versuche en el Weg, ihn a umgehen.

Schönen Saludo

Andreas Koch
 
14.01.2013  
 



 
- Página 1 -



Andreas
Koch
Mein erster Intento fue, una OpenGL-API Ersatz para el beiden obigen Características para encontrar, qué no tan completamente erfolgreich war.
Deswegen vermutete Yo auch, dass una todo Reihe de Befehlen detrás de él steckt, el en XProfan a uno Función zusammengefügt fueron. Um el sistema API-Befehle nachschlagen y direkt anwenden a puede, debería Yo aber wissen, como heißen. Deswegen mi Cuestión, qué hinter oGL("TestMouse", X, Y, Z), o @oGL("TestXY", X, Y, Z, SX, SY)) steckt.

PS: wiki.delphigl.com ha mich bisher en opengl siempre weitergebracht.
 
14.01.2013  
 




RGH
Bitte muy: Der Original-Code en Delphi:
procedure fnOGLTestMouse; {-----------------------} var x, y, z: double; ix, iy: longint; fx, fy, fz: double; modelview: array[1 .. 16] of double; projection: array[1 .. 16] of double; viewport: array[1 .. 4] of longint; R: TRect; Begin if oGLWnd = 0 Then FehlerNr(400,''); GetClientRect(oGLWnd,R); LesePara(ParStack,',',0); x := RPar.Dbl; LesePara(ParStack,',',0); y := RPar.Dbl; LesePara(ParStack,')',0); z := RPar.Dbl; glGetDoublev(GL_MODELVIEW_MATRIX, @modelView); glGetDoublev(GL_PROJECTION_MATRIX, @projection); glGetIntegerv(GL_VIEWPORT, @viewPort); gluProject(x, y, z, @modelView, @projection, @viewPort, fx, fy, fz); ix := sqr(round(fx) - Mausx); iy := sqr((R.Bottom - round(fy)) - Mausy); If (ix + iy) > 0 then RPar.Lng := round(sqrt(ix + iy)) más RPar.Lng := 0; RPar.Typ := 2; Found := True; End; procedure fnOGLTestXY; {--------------------} var x, y, z: double; ix, iy: longint; dx, dy: longint; fx, fy, fz: double; modelview: array[1 .. 16] of double; projection: array[1 .. 16] of double; viewport: array[1 .. 4] of longint; R: TRect; Begin if oGLWnd = 0 Then FehlerNr(400,''); GetClientRect(oGLWnd,R); LesePara(ParStack,',',0); x := RPar.Dbl; LesePara(ParStack,',',0); y := RPar.Dbl; LesePara(ParStack,',',0); z := RPar.Dbl; LesePara(ParStack,',',0); dx := RPar.Lng; LesePara(ParStack,')',0); dy := RPar.Lng; glGetDoublev(GL_MODELVIEW_MATRIX, @modelView); glGetDoublev(GL_PROJECTION_MATRIX, @projection); glGetIntegerv(GL_VIEWPORT, @viewPort); gluProject(x, y, z, @modelView, @projection, @viewPort, fx, fy, fz); ix := sqr(round(fx) - dx); iy := sqr((R.Bottom - round(fy)) - dy); If (ix + iy) > 0 then RPar.Lng := round(sqrt(ix + iy)) más RPar.Lng := 0; RPar.Typ := 2; Found := True; End;
(Como el Foro sólo XProfan-Code correcto formatieren kann, sieht hay algo seltsam de. Mit wäre lo más bien, lo gäbe una Tga, el el Formatierung así lässt, Yo ellos mühevoll eingerichtet habe.)

Einige Anmerkungen:
LesePara list el nächsten Parámetro el Programmzeile. Das Ergebnis se en beiden Características en RPar.Lng (Largo-Integer) zurückgeliefert.Fehler 400 besagt, dass OGL no initialisiert wurde y lo somit kein OGL-Ventana son.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.01.2013  
 




Andreas
Koch
Gracias para el Ayuda, Yo denke, daran kann Yo mich langhangeln.

Schönen Saludo

Andreas
 
14.01.2013  
 




RGH
Hilfreich tal vez auch todavía OGLStartTest y OGLEndTest:
procedure oGLStartTest(mx, my, dx, dy: integer); {---------------------------------------------} var viewport: array[1 .. 4] of longint; wh: double; R: TRect; width, height: integer; begin // Store our Viewport glGetIntegerv(GL_VIEWPORT, @viewport); // Tell OpenGL the size of our seleccionar buffer glSelectBuffer(512, @SelectBuffer); // Change our render mode to GL_SELECT glRenderMode(GL_SELECT); // Init the namestack glInitNames; glPushName(0); glMatrixMode(GL_PROJECTION); glPushMatrix; glLoadIdentity; // Zoom the view to dx/dy pixel around the mouse position gluPickMatrix(mx, viewport[4]-my, dx, dy, @viewport); GetClientRect(oGLWnd,R); Height := R.Bottom; Width := R.Right; if (Height = 0) then Height := 1; if OGLwh <= 0 then wh := Width/Height else wh := OGLwh; gluPerspective(45.0, wh, 0.1, oGLDepth); End; function oGLEndTest:longint; {--------------------------} var Hits, Hit, i : Integer; HitZValue : GLUInt; begin glMatrixMode(GL_PROJECTION); glPopMatrix; // Now store the number of hits en Hits Hits := glRenderMode(GL_RENDER); // Now we look which hit has the lowest Z-Value i.e. qu&eacute; en front Hit := -1; HitZValue := High(GLUInt); for i := 0 to Hits-1 do if SelectBuffer[(i*4)+1] < HitZValue then begin Hit := SelectBuffer[(i*4)+3]; HitZValue := SelectBuffer[(i*4)+1]; end; Result := Hit; end;
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.01.2013  
 



[offtopic]
RGH (14.01.13)
(Como el Foro sólo XProfan-Code correcto formatieren kann, sieht hay algo seltsam de. Mit wäre lo más bien, lo gäbe una Tga, el el Formatierung así lässt, Yo ellos mühevoll eingerichtet habe.)



Posesiones Su Postings dahingehend fix bearbeitet.

Werde simplemente una 2. Code-Tag para einführen.
[/offtopic]
 
14.01.2013  
 



Andreas Koch (14.01.13)
Erst una vez danke para el Antwort. Sorry, Tengo el Thema ahora 2veces eingestellt. (Yo hatte el no mehr gefunden.)


Jojo, kein Streß.

Gibt auch una Forenübergreifende Información general aktueller Temas:  [...] 
¿Puede Su Thema simplemente auch incluso löschen, simplemente unten rechte en Tema opciones.
 
14.01.2013  
 




Andreas
Koch
Noch una corto Apéndice,

en el Página de Uwe Pascal Niemeyer [...]  hay una zip-Expediente (opengl2004.zip), worin se muy viele Beispiele a Programación con opengl befinden. Soweit Yo el überblicken kann, se esta en ogl("xyz",...) Befehle gänzlich verzichtet. Yo vermute, el Codes stammen de uno Tiempo bevor openGl en XProfan eingebunden war. Sie trabajo aber todavía tadellos. Como fue una Ejemplo esta, el el Original-Delphi Codes de RGH en el Wesentlichen abbildet. Allen, el con opengl a tun haben, kann Yo esta Beispiele sólo empfehlen.

Schönen Saludo

Andreas Koch
 
20.01.2013  
 



Stimmt, el son super. Tuve damals así una 3D-Snake programmiert y weiß el uno así correcto komplexe Umgebungen herzaubern kann.
 
20.01.2013  
 



 
- Página 2 -


@Roland: Fehlt en Deiner oGLStartTest después de gluPerspective(...) una glMatrixMode(GL_MODELVIEW)?
 
22.01.2013  
 




RGH
Nun, lo es como zumindest no. Yo dache, lo debería como auch no posición. Aber Yo kann lo sí veces einbauen. Usted hast igual Post!

Saludo
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
22.01.2013  
 



Juhu, Post!

Yo habe que aquí gesehen:  [...] 

Ahí está auch:

Wenn gluPickMatrix genutzt se en NURBS a selektieren, debería darauf geachtet voluntad el NURBS-Eigenschaft (gluNurbsProperty) GLU_AUTO_LOAD_MATRIX a deaktivieren.


Hier otra vez una vollständigeres Ejemplo:  [...] 

Oder gekürzt:
//When rendering a scene as en the following example:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(...);
glMatrixMode(GL_MODELVIEW);
/* Draw the scene */
//a portion of the viewport can be selected as a pick region as follows:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPickMatrix(x, y, width, height, viewport);
gluPerspective(...);
glMatrixMode(GL_MODELVIEW);
/* Draw the scene */
 
22.01.2013  
 



RGH (22.01.13)
. Usted hast igual Post!

Saludo
Roland


Keine Änderung!

stürzt ebenso en el 3 de 3 Computern de wo el vorherige Versión abstürzte.

Auf el otro 2 Computern wo lo funktioniert como funktionierts genau como el vorherige Versión.
 
22.01.2013  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

20.772 Views

Untitledvor 0 min.
Sven Bader14.10.2021
p.specht08.03.2017
funkheld22.05.2016
Georg Teles13.01.2016
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

iF (7x)
Andreas Koch (5x)
RGH (4x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie