Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 00:01

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Texturen auf .3DS
BeitragVerfasst: Sa Jul 03, 2004 16:29 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hab ein Problemchen mit den Texturen meiner importierten .3DS Files.
Sie werden einfach nicht angezeigt. (Im Test ist es ein Würfel, belegt mit den gelben Standart Ziegeln aus 3DS Max. Er sieht immer grau aus.)

Hier mal all der Code, wo was mit dem Mesh passiert:

Code:
  1. var
  2.   Mesh : TAll3DSMesh;
  3.  
  4. procedure TForm1.FormCreate(Sender: TObject);
  5. begin
  6.   DC:= GetDC(Handle);
  7.   Application.OnIdle:= IdleHandler;
  8.  
  9.   if not InitOpenGL then Application.Terminate;
  10.  
  11.   RC:= CreateRenderingContext( DC,
  12.                                [opDoubleBuffered],
  13.                                32,
  14.                                24,
  15.                                0,0,0,
  16.                                0);
  17.   ActivateRenderingContext(DC, RC);
  18.  
  19.   SetupGL;
  20.   Init;
  21.   Mesh := TAll3DSMesh.Create(Nil);
  22.   Mesh.LoadFromFile('mesh\Wuerfel.3DS');
  23.   Mesh.TexturePath := 'mesh\tex';
  24.   Counter := 0;
  25. end;
  26.  
  27. procedure TForm1.Render;
  28. const
  29.     mat_specular   : Array[0..3] of GlFloat = (0.5, 0.5, 0.5, 0.5);
  30.     mat_shininess  : Array[0..0] of GlFloat = (1.0);
  31.     mat_ambient    : Array[0..3] of GlFloat = (0.7, 0.7, 0.7, 1.0);
  32.     mat_diffuse    : Array[0..3] of GlFloat = (0.7, 0.8, 0.7, 1.0);
  33.  
  34.     light_position : Array[0..3] of GlFloat = (2.0, 10.0, 4.0, 1.0);
  35.     light_ambient  : Array[0..3] of GlFloat = (0.9, 0.9, 0.9, 1.0);
  36.     light_diffuse  : Array[0..3] of GlFloat = (0.7, 0.7, 0.7, 1.0);
  37. begin
  38. //
  39.  
  40.   glMaterialfv(GL_FRONT, GL_SPECULAR,  @mat_specular[0]);
  41.   glMaterialfv(GL_FRONT, GL_SHININESS, @mat_shininess[0]);
  42.   glMaterialfv(GL_FRONT, GL_AMBIENT,   @mat_ambient[0]);
  43.   glMaterialfv(GL_FRONT, GL_DIFFUSE,   @mat_diffuse[0]);
  44.  
  45.   glLightfv(GL_LIGHT0, GL_AMBIENT,  @light_ambient[0]);
  46.   glLightfv(GL_LIGHT0, GL_DIFFUSE,  @light_diffuse[0]);
  47.   glLightfv(GL_LIGHT0, GL_POSITION, @light_position[0]);
  48.  
  49.   glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 1.0);
  50.   glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.001);
  51.   glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 0.004);
  52.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  53.  
  54.   glMatrixMode(GL_PROJECTION);
  55.   glLoadIdentity;
  56.   gluPerspective(45.0, ClientWidth/ClientHeight, NearClipping, FarClipping);
  57.  
  58.   glTranslatef(0, 0, -1.5);
  59.   glRotatef(-(Counter/10),0,1,0);
  60.   glRotatef(-80,1,0,0);
  61.  
  62.   glMatrixMode(GL_MODELVIEW);
  63.   glLoadIdentity;
  64.   glColor3f(1.0,1.0,1.0);
  65.   Mesh.Render;
  66.  
  67.   SwapBuffers(DC);
  68. end;
  69.  
  70. procedure TForm1.FormDestroy(Sender: TObject);
  71. begin
  72.   DeactivateRenderingContext;
  73.   DestroyRenderingContext(RC);
  74.   ReleaseDC(Handle, DC);
  75.   Mesh.Destroy;
  76. end;
  77.  


Und das wird is enabled:
Code:
  1. procedure TForm1.SetupGL;
  2. begin
  3.   glClearColor(0.3, 0.4, 0.7, 0.0); //Hintergrundfarbe
  4.   glEnable(GL_DEPTH_TEST);          //Tiefenpuffer aktivieren
  5.   glEnable(GL_CULL_FACE);           //Backface Culling aktivieren
  6.   glEnable(GL_LIGHTING);
  7.   glEnable(GL_LIGHT0);
  8.   glEnable(GL_COLOR_MATERIAL);
  9. end;


Was muss ich denn noch machen damit meine Texturen aufs Modell geklatscht werden?

(Model wurde so erstellt: Würfel -> Material Editor -> zuweisen -> Exportieren)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texturen auf .3DS
BeitragVerfasst: Sa Jul 03, 2004 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Flash hat geschrieben:
Sie werden einfach nicht angezeigt. (Im Test ist es ein Würfel, belegt mit den gelben Standart Ziegeln aus 3DS Max. Er sieht immer grau aus.)

Ist das auch eine Textur, und nicht ein Material? Materialien kann man im Endeffekt nur selbst über Shader nachahmen, aber nicht einfach exportieren.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 16:52 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
:shock:
Ähmm und wie leg ich dann ne Textur auf einen Mesh?

Man kann doch nur Materialen im 3DS zuweisen!? Wenn ich ne Bitmap in ein Materialslot lade, kann ichs keinem Objekt zuweisen. Das geht nur mit Materialien.
Wenn ich das Standartmaterial nehme und dort in der Defusemap die Textur lege, hab ich ja im endeffekt trotzdem ein Material und keine Textur oder!? :?:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 16:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, so meinte ich das. Texturmap auf Diffusem Materialkanal, hab mich evtl. nicht ganz korrekt ausgedrückt. Mit Material meinte ich prozedural generierte Sachen, also keine Texturemap direkt. Hast du auch drauf geachtet das du bei 3DS nur Dateinamen in Form von 8.3 nutzen kannst?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 17:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hab wie gesagt einfach den MaterialEditor aufgemacht, dann in die Material Bibiothek gegangen und dort "YellowBricks" genommen und zugewiesen. Das ist ein vorgefertigtes Material. Der Dateiname passt entsprechend auch.

Ich habs auch mit anderen Modellen (mit Textur) versucht. Is überall dasselbe.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 17:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
could you post the 3ds file? What format does your texture have (tga,bmp)?

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 17:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hab das mal selbst nachvollzogen und folgendes festgestellt :
- Material auf ne Kugel und sie wird untexturiert dargestellt
- Eigenes Material erstellt, dort dann die Textur Yellobrk.jpg in den Diffusen Kanal und auf Kugel gelegt -> Objekt wird korrekt in meiner Anwendung texturiert

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 03, 2004 23:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Werde das heute Abend oder morgen erst testen können. Danke erstmal.

@Noeska: ich hab die 2.4a von deiner Homepage. die Texture is glaub ich ein jpg(?).

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 12:26 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
if you use the units i provided, then jpg cannot be used as texture.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 23:11 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Und wieso geht das dann bei SoS?

@SoS: Hast du den Textureloader der gl3DS.pas modifiziert?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 23:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, ich habe (neben einigen anderen Änderungen) die gl3DS.pas auf meinen eigenen TexturenManager umgemünzt.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 23:19 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmm das is natürlich dann Mist. :?

@Noeska: Have you planed to use .jpg-Files as Textures? It would be usefull, because the most Textures you find in the internet and the most standart-textures of 3D-Studio are in the jpg-Format.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 23:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Öhm, kleiner Nachtrag : Hab mir grade die neue gl3DS.pas angesehen, und die lädt die Texturen doch über Jan Horns Textures.pas, was auch zur Folge hat das JPGs sehr wohl genutzt werden können.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 05, 2004 00:34 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Habs jetzt hingegrigt.
Folgendes war falsch:

TexturePath nach dem laden gesetzt.
TexturePath war falssch (fehlendes"\")
Loader kann keine JPGs laden.

@SOS: Weiß nicht wieso das bei dir geht, wenn du die selbe Textures.pas hast. Bei mir kann er nur BMP, TGA und FNT laden.

@Noeska: Again, please include JPGs.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 05, 2004 11:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Dann benutzt ihr beide ne veraltete Version der Textures.pas. Irgendwie ist da nach dem Ableben von Jan Horn was schief gegangen und McClaw hatte nur noch nen recht alten Loader der nur von dir besagte Formate kann. Hab mich dann mit ihm in Kontakt gesetzt und ihm eine noch von mir leicht modifizierte Version der Textures.pas geschickt die auch JPGs kann. Also einfach mal auf sulaco nachsehen und die neuste Version der Texture.pas runterladen (oder sein Template, da ist die auf jeden Fall dabei).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]