Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Texturieren mit Opengl (https://www.delphipraxis.net/54508-texturieren-mit-opengl.html)

Dr.No 5. Okt 2005 17:07


Texturieren mit Opengl
 
Hi,
Ich hab jetzt so ein mini Spiel mit openfl fast fertig gemacht,
aber an den wänden hab ich keine texturen , ond mit so planken Wänden ist so ein Labyrint spiel einfach nicht das Wahre.

Wenn mir jetzt jemand helfen könnte, und mir sagen kann wie ich Texturiere wäre das echt schön!

Ich weis, das wurde schon oft gefragt!
Aber ich will keine sachen wie glaux und so verwenden, da muss es doch eine möglichkeit geben
mit den von Opengl gelieferten voraussetzungen die flächen zu texturiern, oder?

Also ich hoffe mal da gibt es jemand in der witen welt, der mir helfen kann!

idontwantaname 5. Okt 2005 17:26

Re: Texturieren mit Opengl
 
Dazu gibt es die glBMP - Bibliothek, die imho kein glAUX benötigt.

Ich bin auf diesen DP-Thread gestoßen: glBMP unauffindbar ...

Dr.No 5. Okt 2005 17:45

Re: Texturieren mit Opengl
 
ja, schon, aber es muss doch auch ohne so zeug gehen.
ICh will ja nur auf ein paar flächen texturen drauf machen, das muss do auch nur mit open gl gehen.

supermuckl 5. Okt 2005 17:48

Re: Texturieren mit Opengl
 
guck dir doch die opengl referenz durch

LarsMiddendorf 5. Okt 2005 17:53

Re: Texturieren mit Opengl
 
Ein Wiki zu OpenGL:

http://wiki.delphigl.com/

http://wiki.delphigl.com/index.php/Texture_Loader

idontwantaname 5. Okt 2005 18:05

Re: Texturieren mit Opengl
 
Zitat:

Zitat von Dr.No
ja, schon, aber es muss doch auch ohne so zeug gehen.
Ich will ja nur auf ein paar flächen texturen drauf machen, das muss do auch nur mit open gl gehen.

dann lad dir doch die glBMP.pas runter und schau dir an, wie das dort gemacht wird ;)

Dr.No 5. Okt 2005 18:08

Re: Texturieren mit Opengl
 
Ich hab die opengl referenz schon durchstöbert, ohne erfolg.

aber ich hab mir mal das glbmp unauffindbar angeschaut, da hat ja jemand so was geschrieben,
und da muss da noch das rein :
Delphi-Quellcode:
procedure glGenTextures(n: integer; textures: Pinteger); stdcall; EXTERNAL opengl32;
procedure glBindTexture(target: uint; texture: integer); stdcall; EXTERNAL opengl32;
procedure glTexParameteri(target, pname: uint; param: integer); stdcall; EXTERNAL opengl32;
procedure glTexImage2D(target: uint; level, internalformat: integer; width, height: integer; border: integer; format, atype: uint; Pixels:Pointer); stdcall; EXTERNAL opengl32;
aber wo muss das rein?
wenn ich das in private schreibe kommt der fehler:
[Error] Unit1.pas(76): Field definition not allowed after methods or properties

Maximus 5. Okt 2005 18:21

Re: Texturieren mit Opengl
 
Also entweder machst du bei uses glBMP.pas und kannst die Funktionen und Proceduren nutzen, oder du schreibst alles komplett neu. Deswegen versteh ich deine Frage nicht ...

MFG
Maximus

Phobeus 5. Okt 2005 19:14

Re: Texturieren mit Opengl
 
So 100% kann ich ihm auch nicht folgen. OpenGL ist eine Grafik-API. Das Laden von Texturen ist damit nicht möglich, sondern Du mußt die Daten von deiner Festplatte in OpenGL kriegen um Spass zu machen. Dafür brauchst Du einen Loader. Als Windows-Anwender wirst Du mit dem glBmp sehr gut bedient sein, da er einfach zu verwenden ist. Dieser benötigt in jedem Fall auch die dglOpenGL.pas Header, die Du auch in jedem Fall in deinem Projekt gegen die OpenGL-Header von Borland einsparen kannst. Diese sind nicht nur teilweise falsch implementiert worden (Funktionsnamen), sondern auch hoffnungslos verhaltet. Entsprechend sparst Du Dir mit dem Einsatz der DGL-Header auch das nachladen von glBindTexture und Co aus der DLL.
DGL-Header
Und bevor die Frage auch aufkommt... Du mußt ein InitOpenGL aufrufen - dies ist bei Headern > OpenGL 1.1 notwendig. Passende Beispiele findet Du bei unseren Templates: OpenGL-Templates.
Glaux sollte übrigens in der Tat aus dem Sprachschatz getilgt werden. glBmp oder textures.pas stellen für Einsteiger eine sehr gute Wahl da.

Dr.No 6. Okt 2005 16:53

Re: Texturieren mit Opengl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, danke auf jeden fall für eure Hilfe und anregungen!
Aber hätte einer mir den befehl glEnable(GL_TEXTURE_2D); gesagt wäre ich schon lange fertig :-)

Naja, ich hab jetzt den texloader nicht selbst gemacht, weil ich es nicht wirklich verstanden hab!

So jetzt kann ich euch die neuste version vom spiel zeigen!
Die idee ist , dass man mit paint oder so auf ein bmp ein labyrint zeichet, das dann in 3d umgesetzt wird. Also ihr üsst am anfang nur das bild mit dem namen level1.bmp öffnen, das ihr auch verändern könnt, aus dem bild wird dann die 3d umsetzung gemacht.

Ein roter punkt steht für den start punkt, ein blauer fürs ziel oder anders rum, mhh, keine ahnung müsst ihr testen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz