Español
Wünsche y Sugerencias

OpenGL - Noch unos pocos Propuestas

 
- Página 1 -



Uwe
''Pascal''
Niemeier
¡Hola Personas!

Tuve endlich Gelegenheit, el OpenGL-Características a testen y voluntad veces unos pocos Kommentare dazu absondern.
Hay auch unos pocos Propuestas y algo Kritik esta. Yo hoffe, antes allem letzteres es con Wohlwollen aufgenommen

Allgemein:
Mir es aufgefallen,dass algunos profano-propio ogl-Características no bastante con el
gleichnamigen Original-APIs identisch son. Das macht lo schwer para Personas, el irgendwelche Demos traducir querer oder en otro Programmiersprachen ya con oGL gearbeitet haben. Tal vez lässt se como todavía qué nachbessern, oder lo muss en el späteren Ayuda entsprechend nachdrücklich en solche Abweichungen hingewiesen voluntad.

Hier unos pocos Details:

ogl(Irgendein Objeto,...)
En Übersetzung meiner Ballerspiel-Demos Yo 1 Stunde gegrübelt, por qué mi Asteroiden así komisch por el Gegend eiern, a Yo el Fussnote en el OpenGL.txt gefunden habe: En Erzeugung uno Objektes por glu-API liegt el Körpermittelpunkt en el Nullpunkt des Koordinatensystems, en RGH el unterste Punkt des Körpers
Will uno z.B. una Kugel en ihren Mittelpunkt rotieren dejar, muss uno ellos also sólo en ihren Radius después de unten mover. Ziemlich lästig...

ogl(CLEAR)
Entspricht no ogl-API glClear; zusätzlich para Löschen el Grafik se auch el
Koordinatensystem zurückgesetzt (Ist como todavía una glLoadIdentity instalado?)
El Folge es, dass en uno Bucle con CLEAR no relativen Transformationen posible
son, sólo absolute.
Ejemplo RGH-ogl:

[box:03f4aca031]window 50,50-500,500
ogl(Init,%hwnd,0,0,0,1)
declarar R%
mientras que 1
caso R%=360:R%=0
inc R%
ogl(clear)
ogl(move,0,0,-3)
ogl(rotate,0,R%,0)
ogL(sphere,0.5,4,2)
ogl(show)
endwhile[/box:03f4aca031]
Ejemplo Standart-ogl:
[box:03f4aca031]window 50,50-500,500
oGL(Init,%hwnd,0,0,0,1)
ogl(move,0,0,-3)
mientras que 1
ogl(glClear,~GL_COLOR_BUFFER_BIT | ~GL_DEPTH_BUFFER_BIT)
ogl(rotate,0,1,0)
ogL(sphere,0.5,4,2)
ogl(show)
endwhile[/box:03f4aca031]
Im 2. Ejemplo se el ogl-Bildschirm zwar gelöscht, el Matrix pero no zurückgesetzt, sodass ROTATE cada Durchlauf en el ya gedrehte Szene angewendet se.

Vorschlag: CLEAR debería se sólo el Löschen des Bildes beschränken, dafür podría uno glLoadIdentity kapseln, z.B. como ogl(RESETCOORD) más o menos.

ogl(ORIGIN,...)
Besteht anscheinend de glLoadIdentity + glTranslate (MOVE), setzt Así que el Koordinaten en absolute Werte. Könnte entfallen, si ogl(RESETCOORD) gäbe.

ogl(STARTLIST)
Gibt una Integer-Namen para el DisplayList zurück. Das bedeutet aber, dass uno en más DLs el jeweiligen Namen z.B. en un Array ablegen muss, en volle Kontrolle a haben.
Besser wäre, el Namen incluso vorzugeben, como en el Original-API. So saber uno siempre, como welche DL anzusprechen wäre, ausserdem podría uno una ya creado DL überschreiben.
Como wäre una optionaler Parámetro iName% ?
Ausserdem fehlt ni Kapselung de glDeleteList.

oGL(LOADTEXTUREBMP,...)
Hier gilt el Gleiche como para STARTLIST; el IntegerName se de Profano vorgegeben, podría aber auch vom User zugeteilt voluntad. Arrays könnten entfallen. Texturen könnten z.B. en uno Bucle creado y ser wären entonces encima ihre Nummerierung a erreichen.
BTW: Un Alternative, en bmp-Handles a verarbeiten, wäre auch no schlecht

ogl(2D,...)
Sehe Yo el correcto, dass hier para 1. Tiempo el Rückgabewerte uno Función direkt en vorgegebene Zielvariablen geschrieben voluntad?? Sehr gewöhnungsbedürftig!
BTW: El entsprechende Umkehrfunktion wäre auch muy nützlich!

ogl(TESTMOUSE,...) & ogl(TESTXY,...)
Wenn uno en letzterem el Mausposition übergibt, puede ser se ersteres sparen...

ogl(STARTTEST,...) & ogl(ENDTEST)
Praktischer wäre, si uno hier una Rechteck vorgeben podría como en el Original-API. Dann entspräche el Ganze praktisch el alten @Ratón-Función. Wer una Punkt testen voluntad, de hecho puede Start- y Endpunkte des Rechtecks übereinanderlegen.

Soviel fürs erste.
Bin en Kommentare gespannt (antes allem de Roland)
PS: Werde demnächst todavía unos pocos angepasste Demos puesto.

SeeYou
Pascal
 
03.05.2006  
 



 
- Página 2 -


Läuft con usted el mitgelieferte Demo lesson13a.prf sin Choque?
 
21.05.2006  
 




Frank
Abbing
Pascal, poner el -7 veces en Klammern, entonces debería lo ir. Posesiones en media Tests todavía algunos dieser Stolperstellen entdeckt y Roland auch gemeldet. Bin sicher, dass él ellos bald korrigiert ha.
 
21.05.2006  
 




RGH
[quote:60ba900c81=Uwe Pascal Niemeier]
ogl(STARTLIST)
Gibt una Integer-Namen para el DisplayList zurück. Das bedeutet aber, dass uno en más DLs el jeweiligen Namen z.B. en un Array ablegen muss, en volle Kontrolle a haben.
Besser wäre, el Namen incluso vorzugeben, como en el Original-API. So saber uno siempre, como welche DL anzusprechen wäre, ausserdem podría uno una ya creado DL überschreiben.
Como wäre una optionaler Parámetro iName% ?[/quote:60ba900c81]
Su Spieledemo con el Asteroiden ha mich überzeugt, daß el doch sinnvoll es. Ab el nächsten Subscriptionsversion (el 11.) hay diesem optionalen Parámetro. Ohne esta Parámetro es con glGenList el nächste freie Listennummer ermittelt, con Parámetro se eben esta Nummer benutzt.

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
22.05.2006  
 




RGH
[quote:47f614c4dd=Uwe Pascal Niemeier]Wenn Yo dieses Ventana en el Hintergrund schicke (z.B. indem Yo en el dahinterstehende Editorfenster klicke), bekomme Yo una heftige Fehlermeldung.
OK, el Code como solcher Aunque bastante sinnlos, aber deshalb igual una Gleitkomma-Fehler?
Oder Yo qué übersehen?[/quote:47f614c4dd]
Hm, en me se ejecuta lo völlig problemlos.

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
22.05.2006  
 




RGH
[quote:b4209c4237=Uwe Pascal Niemeier][quote:b4209c4237]Was el Ursprung los objetos betrifft, Yo largo con me gerungen. Yo bin su ausgegangen, daß OpenGL en erster Linie para Juegos eingesetzt voluntad se y como mentira el Objetos nun veces todos en el Erdboden (el Nulllinie) y ragen no a Hälfte en esta hinein.[/quote:b4209c4237]
Stimmt, así tener Yo el garnicht gesehen; el macht Sinn !

Was IMHO todavía con rein debería: Un Skalierfunktion[/quote:b4209c4237]
Nach längerem Hin y Her Yo mich ahora entschieden beides a ermöglichen. Mit oGL(PosMode, N%) puede ser el Modus einstellen. Im Defaultmodus 0 es el Ursprung los objetos bodenständig ausgerichtet y en el Modus 1 es el Mittelpunkt des Objektes.

Und el Función oGL(Scale, N!) para Verkleinern y Vergrößern de Objekten se lo auch geben.

Yo denke veces, en el nächsten oder übernächsten Subscriptionsversion se lo soweit ser.

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
23.05.2006  
 




RGH
[quote:b46363596f=Uwe Pascal Niemeier]Und natürlich una Función, el el letzten ogl-Fehler como String ausgibt
(oder una entsprechende Systemvariable y una Liste para Nachschlagen)[/quote:b46363596f]
Aber no doch! Händisches Nachschlagen en el 21. Jahrhundert?

Lo son kein spezielles Fehlerhandling para en el OpenGL-API auftretende Fehler, pero Windows nutzt hier el Windowseigene Fehlerhandling. Den letzten aufgetretenen Fehler ermittelt el API-Función GetLastError() y encima FormatMessage(...) puede ser el passenden Fehlertext ermitteln. Diese beiden Funktionalitäten Yo nun como Systemvariablen en XProfan integriert:

%LastError : Der letzte aufgetretene Windowsfehler. 0 = Kein Fehler. Der Valor el Systemvariablen ändert se sólo, si una weiterer Fehler auftritt. Wichtiger Referencia: Ein aufgetretener Windowsfehler sagt no zwingend de, daß una XProfan-Fehler aufgetreten es. Lo son durchaus auch Windowsfehler, el XProfan bewußt ignoriert.

$LastError : Der letzte aufgetretene Windowsfehler en Textform.

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
23.05.2006  
 




Uwe
''Pascal''
Niemeier
Hola Roland!

[quote:a770c6eb53]Lo son kein spezielles Fehlerhandling para en el OpenGL-API auftretende Fehler, pero Windows nutzt hier el Windowseigene Fehlerhandling. [/quote:a770c6eb53]
Bist du como sicher??
KompilierenMarcaSeparación
!
window 10,10-700,500

proc glError?--------------------------------

    parameters a$
    declare a&,b&
    a&=ogl("glGetError")
    b&=ogl("gluErrorString",a&)
    messagebox(str$(a&)+": "+string$(b&,0),a$,0)
    endproc--------------------------------------
    ogl("init",%hwnd,0,0,0,1)
    ogl("glClear",0)
    glError? "Test 1"
    ogl("glClear",-1)
    glError? "Test
t;

SeeYou
Pascal
 
24.05.2006  
 




Uwe
''Pascal''
Niemeier
¡Hola Personas!

[quote:ed5606461a]Uwe Pascal Niemeier: Wenn Yo dieses Ventana en el Hintergrund schicke (z.B. indem Yo en el dahinterstehende Editorfenster klicke), bekomme Yo una heftige Fehlermeldung.[/quote:ed5606461a]
Lo scheint wohl vom OS o. de el Versión el oGL-dlls abhängig a ser...

Der Fehler tritt en me en, si el Szene después de Anwendung de Push/Pop en el Z-Achse al Nullpunkt befindet y luego adecuado voluntad se:
KompilierenMarcaSeparación
!
window 50,50-500,500
ogl("init",%hwnd,0,0,0,1)

while 1

    sleep 50
    ogl("clear")
    ogl("origin",0,0,0)--------Fehler!
    ogl("origin",0,0,0.0001)--Klappt!
    ogl("push")
    ogl("move",2,1,-5)
    ogl("sphere",1,5,5)
    ogl("pop")
    ogl("move",0,0,0.0001)--Klappt auch!
    ogl("show")

24.05.2006  
 




RGH
[quote:2aa2723ce6=Uwe Pascal Niemeier]Hola Roland!

[quote:2aa2723ce6]Lo son kein spezielles Fehlerhandling para en el OpenGL-API auftretende Fehler, pero Windows nutzt hier el Windowseigene Fehlerhandling. [/quote:2aa2723ce6]
Bist du como sicher??[/quote:2aa2723ce6]
Como Tuve offensichtlich qué übersehen. Aber getLastError() klappt auch en en oGL-Fehlern. Offensichtlich nutzt OpenGL auch el windowseigene Fehlerhandling. Aber umso mejor, entonces hay nun una weitere Systemvariable y una neue oGL-Función:

e% = %oGLError y e$ = oGL(ErrorString, e%)

(El Sache con %LastError y $LastError kann Yo entonces otra vez einmotten.)

Gracias!

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
24.05.2006  
 




Michael
Wodrich
Einmotten???

Wenn uno así simplemente en Profano una Windowsfehler serviert bekommt, Luego se lo tal vez auch häufiger benutzt.

Yo sería esta LastError-Geschichte drin dejar. Gehört sí a Allgemeinen Fehlerbehandlung en Windows.

Und lo se sí siempre jemanden geben, el no encima Profano pero direkt en Windows-API al Sistema dreht - como braucht uno el Fehlerabfrage sí.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
24.05.2006  
 




Frank
Abbing
Sehe Yo ähnlich. Yo würds drinlassen...
 
24.05.2006  
 



 
- Página 3 -


Zum ID-Sparen empfehle Yo get(lastmessage), get(errormessage) oder get(oglerror) oder qué De todos modos...
 
24.05.2006  
 




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

7.509 Views

Untitledvor 0 min.
Peter Max Müller23.10.2017
Andreas Koch10.01.2013
Deli Beatz28.08.2012

Themeninformationen



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