Français
Online-Documentation

ogl.xpgl Erklärung: OpenGL

 
quoi ist XPGL? XPGL steht pour XProfanGraphicsLanguage. Inspiriert wurde je en supplément de qui Textdatei, qui qui "Welt" dans Lektion 10 de NeHe's OpenGL-Tutorial beschreibt: <a href='https://nehe.gamedev.net/'>Neon Helium OpenGL Tutorial</a>

dans diesem Tutorial wurde qui Textdatei allerdings lediglich benutzt, cet monde trop décrire. Im Programme wurde vous ensuite Dreieck pour Dreieck ausgelesen et dargestellt. cela était mir entschieden trop lente. L'idée trop XPGL kam mir ensuite, comme je mich avec den Vektor-Funktionen de OpenGL befaßte, qui es ermöglichen pour Vertex (Koordinaten), la couleur, Texturabschnitt et Normalwerte je un Datenarray (= Vektor) anzugeben et cela Ganze ensuite avec einem einzigen OpenGL-Befehl sur den Bildschirm trop apporter.

L'idée était, cet Textdatei so umzugestalten, qui vous possible universell ist (alors pas seulement pour Dreiecke avec Textur funktioniert) et derart dans den grenier gelesen wird, qui vous avec einem OpenGL-Befehl angezeigt volonté peux. avec cela était XPGL née.

[head]XPGL besteht alors aus folgenden Komponenten[/head]
voilà zunächst qui XPGL-Dossier, qui qui données qui darzustellenden "Welt" contient.

ensuite gibt es une Datenstruktur dans XProfan, qui cet Werte aufnimmt. avec @oGL("LoadXPGL " peux une XPGL-fichier dans den grenier geladen volonté. Es peut jusque 1999 XPGL-Fichiers gleichzeitig im grenier son, si le Ausstattung des Rechners avec RAM es hergibt.

avec qui @oGL("UseXPGL " volonté qui données einer XPGL-Datenstruktur blitzschnell à cela OpenGL-System übetragen. Ab ici übernimmt qui Grafik-carte, sofern vous OpenGL-fähig ist. (chez älteren Karten käme ici qui OpenGL-Treiber et qui RAM des Rechners zum Einsatz, quoi pas très effizient ist.)

cela dernier Glied dans qui Kette ist qui Funktion @oGL("DrawXPGL ", avec qui qui komplette "Welt" (ou bien un beliebiger partie derselben) sur den OpenGL-Bildschirm gebracht wird.

comme zusätzliche Possibilité ist encore vorgesehen, qui geladenen XPGL-données avec o@GL("SaveXPGLData " comme binäres Datenfile abzuspeichern et oGL("LoadXPGLData " wieder trop magasin. avec @oGL("CreateXPGL " peux on XPGL-données aussi direct im Programme erzeugen. @oGL("XPGLCount " ermittel le nombre qui Punkte dans den XPGL-données, @oGL("XPGLObjType " ermittelt den Objekttyp et @oGL("XPGLType " qui Art qui Werte.

[head]cela Format einer XPGL-Dossier[/head]
une XPGL-Dossier est un Textdatei. Zeilen qui avec einem "/" commencer, volonté comme Kommentarzeilen interpretiert et überlesen. Leerzeilen dienen qui Gliederung et volonté aussi überlesen.

important ist qui 1. données-la ligne: elle a qui Struktur Objekttyp; Art qui Werte; Anzahl[; Autonormal] (4 Werte, par Komma getrennt). Autonormal peux être omis. qui anderen Werte doit vorhanden son.

Objekttyp:

·P = Punkt
·L = Line
·T = Triangle
·Q = Quad
·LS = Line-Strip
·LL = Line-Boucle
·TS = Triangle-Strip
·TF = Triangle-Fan
·QS = Quad-Strip
·PY = Polygon

Art qui Werte:

·V = Vertex (Koordinaten des Punktes: 3 Werte/Punkt)
·C = Color (4 Werte/Punkt)
·T = Textur (2 Werte/Punkt)
·N = Normal(3 Werte/Punkt)

Beispiel: VT (Vertex + Textur)

cela V pour Vertex doit toujours vorhanden son.

Anzahl:

Nombre de Objekte (chez Q, T et L) bzw. Nombre de Punkte (chez allen anderen).un Quad hat 4, un Triangle hat 3 et une Line hat 2 Punkte

4 Werte pour "Autonormal":

x, y et z pour den Mittelpunkt des Objektes et qui Normalwert (0.5 si le Beleuchtung de außen venez, -0.5 si vous de dedans venez). Werden cet Werte trotz des Kennzeichens "N" weggelassen, volonté hierfür qui Defaultwerte de 0, 0, 0, 0.5 angenommen.

Beispiele pour une 1. la ligne:

T;VT;36 (36 Triangles avec Vertex et Textur)

T;VTN;36;0,-0.5,-2,0.5 (zusätzlich automatisches Erstellen des Normal-Vektors, si aucun Normal-Werte vorhanden sommes

qui weiteren Zeilen enthalten qui Wertegruppen: Gruppen getrennt par ";", Werte getrennt par ",". cela Dezimaltrennzeichen chez den Werten ist qui Punkt. qui Wertegruppen doit dans qui gleichen Reihenfolge stehen, comment qui Kennzeichen pour qui Art qui Werte. Im piège de "VT" stehen alors dans chacun la ligne zunächst qui trois par Komma getrennten Koordinaten, ensuite folgen pour einem Semikolon qui beiden par un Komma getrennten Textur-Koordinaten.

Wird chez qui Werteart N avec angegeben, liegen mais aucun N-Werte avant, volonté cet automatisch generiert.

une détaillé Beschreibung avec Beispielen findet sich im ogl->xpgl 

[head]Beispielinhalt einer XPGL-Dossier:[/head]
T;VT;36
// Normale sommes pas angegeben, daher wird 1, 1, 1 pris
// Floor 1
-13.0, 0, -13.0; 0.0, 130.0
-13.0, 0,  13.0; 0.0, 0.0
13.0, 0,  13.0; 130.0, 0.0
-13.0, 0, -13.0; 0.0, 130.0
13.0, 0, -13.0; 130.0, 130.0
13.0, 0,  13.0; 130.0, 0.0
// Ceiling 1
-3.0, 1.0, -3.0; 0.0, 1.0
-3.0, 1.0,  3.0; 0.0, 0.0
3.0, 1.0,  3.0; 1.0, 0.0
-3.0, 1.0, -3.0; 0.0, 1.0
3.0, 1.0, -3.0; 1.0, 1.0
3.0, 1.0,  3.0; 1.0, 0.0
// A1
-2.0, 1.0, -2.0; 0.0, 1.0
-2.0, 0.0, -2.0; 0.0, 0.0
-0.5, 0.0, -2.0; 1.5, 0.0
-2.0, 1.0, -2.0; 0.0, 1.0
-0.5, 1.0, -2.0; 1.5, 1.0
-0.5, 0.0, -2.0; 1.5, 0.0
// A2
2.0, 1.0, -2.0; 2.0, 1.0
2.0, 0.0, -2.0; 2.0, 0.0
0.5, 0.0, -2.0; 0.5, 0.0
2.0, 1.0, -2.0; 2.0, 1.0
0.5, 1.0, -2.0; 0.5, 1.0
0.5, 0.0, -2.0; 0.5, 0.0
// B1
-2.0, 1.0, 2.0; 2.0, 1.0
-2.0, 0.0, 2.0; 2.0, 0.0
-0.5, 0.0, 2.0; 0.5, 0.0
-2.0, 1.0, 2.0; 2.0, 1.0
-0.5, 1.0, 2.0; 0.5, 1.0
-0.5, 0.0, 2.0; 0.5, 0.0
// B2
2.0, 1.0, 2.0; 2.0, 1.0
2.0, 0.0, 2.0; 2.0, 0.0
0.5, 0.0, 2.0; 0.5, 0.0
2.0, 1.0, 2.0; 2.0, 1.0
0.5, 1.0, 2.0; 0.5, 1.0
0.5, 0.0, 2.0; 0.5, 0.0
// C1
-2.0, 1.0, -2.0; 0.0, 1.0
-2.0, 0.0, -2.0; 0.0, 0.0
-2.0, 0.0, -0.5; 1.5, 0.0
-2.0, 1.0, -2.0; 0.0, 1.0
-2.0, 1.0, -0.5; 1.5, 1.0
-2.0, 0.0, -0.5; 1.5, 0.0
// C2
-2.0, 1.0, 2.0; 2.0, 1.0
-2.0, 0.0, 2.0; 2.0, 0.0
-2.0, 0.0, 0.5; 0.5, 0.0
-2.0, 1.0, 2.0; 2.0, 1.0
-2.0, 1.0, 0.5; 0.5, 1.0
-2.0, 0.0, 0.5; 0.5, 0.0
// D1
2.0, 1.0, -2.0; 0.0, 1.0
2.0, 0.0, -2.0; 0.0, 0.0
2.0, 0.0, -0.5; 1.5, 0.0
2.0, 1.0, -2.0; 0.0, 1.0
2.0, 1.0, -0.5; 1.5, 1.0
2.0, 0.0, -0.5; 1.5, 0.0
// D2
2.0, 1.0, 2.0; 2.0, 1.0
2.0, 0.0, 2.0; 2.0, 0.0
2.0, 0.0, 0.5; 0.5, 0.0
2.0, 1.0, 2.0; 2.0, 1.0
2.0, 1.0, 0.5; 0.5, 1.0
2.0, 0.0, 0.5; 0.5, 0.0
// Upper hallway - L
-0.5, 1.0, -3.0; 0.0, 1.0
-0.5, 0.0, -3.0; 0.0, 0.0
-0.5, 0.0, -2.0; 1.0, 0.0
-0.5, 1.0, -3.0; 0.0, 1.0
-0.5, 1.0, -2.0; 1.0, 1.0
-0.5, 0.0, -2.0; 1.0, 0.0
// Upper hallway - R
0.5, 1.0, -3.0; 0.0, 1.0
0.5, 0.0, -3.0; 0.0, 0.0
0.5, 0.0, -2.0; 1.0, 0.0
0.5, 1.0, -3.0; 0.0, 1.0
0.5, 1.0, -2.0; 1.0, 1.0
0.5, 0.0, -2.0; 1.0, 0.0
// Lower hallway - L
-0.5, 1.0, 3.0; 0.0, 1.0
-0.5, 0.0, 3.0; 0.0, 0.0
-0.5, 0.0, 2.0; 1.0, 0.0
-0.5, 1.0, 3.0; 0.0, 1.0
-0.5, 1.0, 2.0; 1.0, 1.0
-0.5, 0.0, 2.0; 1.0, 0.0
// Lower hallway - R
0.5, 1.0, 3.0; 0.0, 1.0
0.5, 0.0, 3.0; 0.0, 0.0
0.5, 0.0, 2.0; 1.0, 0.0
0.5, 1.0, 3.0; 0.0, 1.0
0.5, 1.0, 2.0; 1.0, 1.0
0.5, 0.0, 2.0; 1.0, 0.0
// À gauche hallway - Lw
-3.0, 1.0, 0.5; 1.0, 1.0
-3.0, 0.0, 0.5; 1.0, 0.0
-2.0, 0.0, 0.5; 0.0, 0.0
-3.0, 1.0, 0.5; 1.0, 1.0
-2.0, 1.0, 0.5; 0.0, 1.0
-2.0, 0.0, 0.5; 0.0, 0.0
// À gauche hallway - Hi
-3.0, 1.0, -0.5; 1.0, 1.0
-3.0, 0.0, -0.5; 1.0, 0.0
-2.0, 0.0, -0.5; 0.0, 0.0
-3.0, 1.0, -0.5; 1.0, 1.0
-2.0, 1.0, -0.5; 0.0, 1.0
-2.0, 0.0, -0.5; 0.0, 0.0
// Right hallway - Lw
3.0, 1.0, 0.5; 1.0, 1.0
3.0, 0.0, 0.5; 1.0, 0.0
2.0, 0.0, 0.5; 0.0, 0.0
3.0, 1.0, 0.5; 1.0, 1.0
2.0, 1.0, 0.5; 0.0, 1.0
2.0, 0.0, 0.5; 0.0, 0.0
// Right hallway - Hi
3.0, 1.0, -0.5; 1.0, 1.0
3.0, 0.0, -0.5; 1.0, 0.0
2.0, 0.0, -0.5; 0.0, 0.0
3.0, 1.0, -0.5; 1.0, 1.0
2.0, 1.0, -0.5; 0.0, 1.0
2.0, 0.0, -0.5; 0.0, 0.0

 
22.12.2006  
 



Note / Question or Comment to the Help--Topic


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

583 Views

Untitledvor 0 min.
H.Brill31.05.2024
Sven Bader03.08.2021
ByteAttack04.02.2016
maxilars26.11.2015
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie