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

Aktuelle Zeit: Fr Jul 18, 2025 08:52

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



Ein neues Thema erstellen Auf das Thema antworten  [ 151 Beiträge ]  Gehe zu Seite Vorherige  1 ... 7, 8, 9, 10, 11  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Mai 16, 2004 14:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
So, hab mich dann doch entschlossen den Source so wie er ist zu veröffentlichen :

Source+Binary des Lightmappers (inkl. aller benötigten Units), ~370KByte)

Hinweis : Wie alle meine Quellcodes unterliegt auch dieser Quellcode der The GNU General Public License (GPL), also nur dann in euren Projekten benutzen wenn ihr diese Lizenz versteht und annehmt. Kurz gesagt bedeutet die GPL das ihr eure Programme dann auch mit Source und als Freeware anbieten müsst, und auch den Ur-Autor erwähnen müsst. Ich mache das damit die Leute quasi gezwungen werden was für die Open-Source-Bewegung zu tun.

Ansonsten ist der Code wie gesagt nicht fertig, und Fragen dazu beantworte ich hier natürlich. Die berechneten Lightmaps werden übrigens im Unterordner temp gespeichert, und die passenden Texturkoordinaten in der Datei "lightmap_texcoords.txt". Die Lightmapnummer entspricht der Nummer des Dreiecks im 3DS-File.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Datein!!!
BeitragVerfasst: Do Mai 20, 2004 14:00 
Offline
DGL Member

Registriert: Di Mai 18, 2004 21:51
Beiträge: 1
Hallo ich bin ganz neu hier...... ich möchte mich in nächster Zeit mit OpenGL beschäftigen. Jetzt bin ich erst mal auf der suche nach Beispielen.

Habe mir gereade die Lightmap gezogen nur sagt mir mein Delphi das die OpenGL12.DCU fehlt.

Meine Frage was brauche ich für datein um vernünfig mit Delphi (7.0) OpenGL zu machen und wo bekomme ich sie.

Danke euch schon mal für eure Antwort.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 20, 2004 14:26 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Öhm, welchen Lightmapper? Den am Anfang des Threads? Denn der neue Quellcode nutzt nur unseren eigenen Header, die dglOpenGL.pas. Das ist auch die einzige Unit die du für OpenGL eigentlich brauchst und ist auch der einzige aktuelle OpenGL-Header für Delphi. Finden tust du den entweder in Files->Libraries oder hier im OpenGL-Forum im passenden Sticky.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 16:33 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Hey,
hab mich jetzt näher mit dem Lightmapper beschäftigt. Habe ihn jetzt soweit umgeschrieben, dass er DeleD-Dateien laden kann und die lightmaps daraus berechnet. Das funktioniert scheinbar auch ganz gut. Er berechnet die Lightmaps und zeigt die auch korrekt im Preview-Fenster an. Dateien erstellen tut er auch. Das Problem ist, dass entweder beim Laden der Lightmaps oder beim erstellen der Dateien irgendwo was falsch gemacht wird. Bist du dir sicher, dass das exportieren korrekt geschieht? Ich hab nämlich z.B. einen Schatten da, wo keiner sein soll, und wo auch nicht in der Previewform einer war. Normalerweise würde ich ja sagen, es liegt an mir ;) aber da ich schon mehrere Lade-Änderungen durchgeführt habe, und auch die polygone mit den texturen überprüft habe ( da sind auch schatten drauf ), bin ich mir da nicht mehr so sicher :?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 16:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hm, da ich die generierten Lightmaps noch nie in einer anderen Anwendung geladen habe, kanns sein das da was schiefläuft. Allerdings ist das so simpel das ich mir momentan nicht vorstellen kann wo der Fehler liegt.
Der Lightmapper lädt doch nacheinander alle Dreiecke und erstellt dann in der Reihenfolge wie diese geladen werden auch die passenden Lightmaps. Also hat das 100ste Dreieck deiner Szene die 100ste Lightmap, usw. Wo da ein Fehler auftreten soll ist mir rätselhaft.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 16:47 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Tja eben weils ja so einfach ist, verzweifel ich bald daran :twisted:
Also hier mal bebildertes Material zu meinem Problem.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hm, nach den zwei Screenshots da oben bin ich mir recht sicher dass das Problem auf deiner Seite liegt. Es sieht nämlich so aus als würde auf deinem Tisch die selbe Lightmap liegen wie auf dem Boden (weil man da auch die Schatten der Tischbeine sieht.
Das lässt mich zu dem Schluß kommen das du nicht die richtigen Lightmaps bindest. Für mich sieht das so aus als ob du die Lightmaps für jeden Mesh eigens durchzählst, also für den "Raum" bei 0 beginnst und dann nochmal für den Tisch. Das ist natürlich falsch.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 17:29 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Das dachte ich auch zuerst, aber dann ist mir aufgefallen, dass die Textur auf dem Boden und die Textur auf dem Tisch zwei verschiedene sind (Siehe Anhang). Zudem kommen diese Texturen dann in den anderen Objekten gar nicht mehr vor. Meine Zeichen-Prozedur sieht in etwa so aus:

Code:
  1.  
  2. polygon:=-1;
  3. for i:=0 to mapname.objects-1 do begin
  4.     glloadname(i+1);
  5.     for a:=0 to mapname.obj[i].polygons-1 do begin
  6.       if (mapname.obj[i].visible) then begin
  7.         inc(polygon);
  8.  
  9.         glActiveTextureARB(GL_TEXTURE0_ARB);
  10.         glbindtexture(GL_TEXTURE_2D,map.lm_tex[polygon].texture);
  11.  
  12.         glbegin(gl_triangles);
  13.         for b:=0 to 2 do begin
  14.            gltexcoord2f(map.obj[i].polygon[a].lm_UVCoord[b].UV1,1-map.obj[i].polygon[a].lm_UVCoord[b].UV2);
  15.            
  16.            glvertex3f(map.obj[i].vertexinfo[ map.obj[i].polygon[a].Usedvertex[b] ].x,
  17.                       map.obj[i].vertexinfo[ map.obj[i].polygon[a].Usedvertex[b] ].y,
  18.                       map.obj[i].vertexinfo[ map.obj[i].polygon[a].Usedvertex[b] ].z);
  19.  
  20.         end;
  21.         glend;
  22.       end;
  23.     end;
  24.   end;


Kann natürlich trotzdem sein, dass es an mir liegt...


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Zuletzt geändert von Mr.Fletcher am Fr Jun 04, 2004 18:18, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 17:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Öhm, ohne deinen Code genauer zu betrachten (hab grade nicht die Zeit) : Der Lightmapper exportiert für jedes Dreieck eine eigene (quadratische) Lightmap. Kann es also sein das du die Lightmaps nur per Quad lädst? Das ist dann natürlich falsch.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 20:05 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Nein, das ist es auch nicht... hier mal meine Lade-Prozedur:

Code:
  1. assign(texcoord_file,'textures\lightmap_texcoords.txt');
  2.   reset(texcoord_file);
  3.  
  4.   lightmapid:=-1;
  5.  
  6.   for i:=0 to map.objects-1 do begin
  7.    for a:=0 to map.obj[i].polygons-1 do begin
  8.  
  9.     setlength(map.obj[i].polygon[a].lm_UVCoord,3);
  10.     inc(lightmapid);
  11.  
  12.     map.obj[i].polygon[a].lm_textureid:=lightmapid;
  13.  
  14.     readln(texcoord_file,s);
  15.     delete(s,1,length(floattostr(lightmapid))+1);
  16.  
  17.     //== Vertex 1 UV1
  18.     errorcode:=-1;
  19.     s_temp:=copy(s,0,4);
  20.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[0].UV1,errorcode);
  21.     delete(s,1,5);
  22.  
  23.     //== Vertex 1 UV2
  24.     s_temp:=copy(s,0,4);
  25.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[0].UV2,errorcode);
  26.     delete(s,1,5);
  27.  
  28.     //== Vertex 2 UV1
  29.     s_temp:=copy(s,0,4);
  30.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[1].UV1,errorcode);
  31.     delete(s,1,5);
  32.  
  33.     //== Vertex 2 UV2
  34.     s_temp:=copy(s,0,4);
  35.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[1].UV2,errorcode);
  36.     delete(s,1,5);
  37.  
  38.     //== Vertex 3 UV1
  39.     s_temp:=copy(s,0,4);
  40.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[2].UV1,errorcode);
  41.     delete(s,1,5);
  42.  
  43.     //== Vertex 3 UV2
  44.     s_temp:=copy(s,0,4);
  45.     val(s_temp,map.obj[i].polygon[a].lm_UVCoord[2].UV2,errorcode);
  46.   end;
  47.   end;
  48.   close(texcoord_file);
  49.  
  50.   world_polygons:=lightmapid+1;
  51.  
  52.   map.lm_textures:=world_polygons;
  53.   setlength(map.lm_tex,map.lm_textures);
  54.  
  55.   //== Texturen Laden
  56.   for i:=0 to world_polygons-1 do begin
  57.     s:=floattostr(i)+'.bmp';
  58.     loadtexture('textures\lightmaps'+s,map.lm_tex[i].texture ,false);
  59.   end;

Also ich find da einfach keinen Fehler... und wie gesagt, die Tisch-Polys haben ja die Polygon-Nummern 34 und 35, und die dazugehörigen bmps sehen auch so aus, wie das gerendert aussieht :? Naja werd mal noch ein bisschen im Code rumgucken ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 05, 2004 10:00 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
*hust* hab den Fehler jetzt gefunden, lag natürlich an mir :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 30, 2009 18:30 
Offline
DGL Member
Benutzeravatar

Registriert: Do Feb 21, 2008 22:10
Beiträge: 89
Wohnort: Boppard
Hi ich beschäftige mich auch grad mit Lightmaps für meine Engine doch leider ist deine Source anscheinend nichtmehr verfügbar. :cry:

Könntest du die neu hochladen oder so?

Das wär echt klasse denn ich habe schonmal diese alte Demo gesehen und dachte das wär genau das richtige fürn Anfang.

MFG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 01, 2009 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Feb 21, 2008 22:10
Beiträge: 89
Wohnort: Boppard
*push*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 01, 2009 15:39 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
*Böse Blick bzgl. Push*

http://www.saschawillems.de/?page_id=100
Unten bei Lightmapping.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 01, 2009 16:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich hab dazu nie Quellcode veröffentlicht, und die PDF auf der meine Demo basierte ist im ersten Posting verlinkt.

_________________
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  [ 151 Beiträge ]  Gehe zu Seite Vorherige  1 ... 7, 8, 9, 10, 11  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 7 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 16 Queries | GZIP : On ]