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

Aktuelle Zeit: Fr Jul 18, 2025 12:29

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



Ein neues Thema erstellen Auf das Thema antworten  [ 151 Beiträge ]  Gehe zu Seite Vorherige  1 ... 5, 6, 7, 8, 9, 10, 11  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 05, 2003 19:39 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 04, 2003 13:32
Beiträge: 6
da war mein lightmapper aber besser als der da unten, der hat wenigstens noch die pixel je nach ihrem winkel zur lichtquelle entsprechend heller oder dunkler gemacht, das nicht so harte kanten entstehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 05, 2003 19:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
SiC hat geschrieben:
da war mein lightmapper aber besser als der da unten, der hat wenigstens noch die pixel je nach ihrem winkel zur lichtquelle entsprechend heller oder dunkler gemacht, das nicht so harte kanten entstehen.


Wunderbar...der beste Kommentar den ich bisher in diesem Forum gelesen hab :evil:

P.S. : Beweise... (und ausserdem hab ich nie behauptet, das mein LM der beste wäre den es gibt!)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 10, 2003 13:00 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 04, 2003 13:32
Beiträge: 6
sry so war das net gemeint, hatte gedacht das waere ein d3d lightmapper den du irgendwo gefunden hast, weil ich gedacht habe der screenshot haette bezieht sich auf:
Zitat:
Nett zu sehen, das die "Konkurrenz" aus dem D3D-Lager doch noch (zumindest ein wenig) aktiv ist
.
Wollte eigentlich nur sagen das du das noch einbauen solltest.

@Beweise: hm das ist da so ne sache, nachdem meine partitionstabelle zerstoert war ( weil ich irgend einen scheiss beim partitionieren unter linux gemacht habe ;) ) ist die engine leider kaputt gegangen und ich musste die nochmal neuprogrammieren und in der neuen ist das noch nicht integriert. Das einzige was ich noch habe sind 2 screenshots auf meiner uralten website: http://chewbacca850.tripod.com aber achtung dumme tripod werbung. Die Screenshots sind unter projects. Die demo die es da angeblich zum downloaden gibt ist aber nicht mehr auf dem server, weil die eh nicht richtig funktioniert hat( Irgendwie nur auf meinem Computer ).

CYa SiC


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 11, 2003 07:25 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
b4k4,

Tja, für solche fälle hat man immer ne 2 Platte 40 gig oder so nur um daten zu speichern, quellcodes, installationen, savegames... so kann man jederzeit C platmachen und alles ist noch da... ne 40 gb platte kost nicht die welt... das kann sich jeder leisten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 11, 2003 09:41 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 04, 2003 13:32
Beiträge: 6
ja letzendlich war es ganz gut dann hab ich die alte recht haessliche engine neuprogrammiert, und jetzt hab ich ne komplett objektorientierte engine mit der ich eigentlich ganz zufrieden bin, naja fertig ist sie noch nicht. Da fehlt noch einiges aber egal. Im mom bin ich gerade dabei alles auf Displaydrivern aufzubauen so das ich OpenGL und D3D verwenden kann, dann kann man einfach die DLL aendern und dann rendert der das mit der jeweils anderen API.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Lightmapper von SOS
BeitragVerfasst: Fr Sep 12, 2003 21:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
Hi SoS,

ich habe noch ein Problem mit deinem Lightmapper. Ich habe an den Rändern von den Flächen immer so Kanten die zu sehen sind. Der selbe Effekt ist übrigends auch bei deinem Original Lightmapper in OpenGL.

Bild

Ich habe schon versucht das Mip-Mapping zu deaktivieren, das hat aber auch nicht wirklich geholfen!

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 12, 2003 21:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die Problemlösung ist ganz einfach (zumindest unter OpenGL :wink: ) :
In der Version die hier zum Download bereitsteht hab ich irrtümlicherweise den falschen Texture-Wrappingmodus verwendet.Der muss für beide Richtungen (S+T) nämlich GL_CLAMP_TO_EDGE sein, und sowas wirds wohl auch unter D3D geben.Mit der Berechnung der Lightmaps an sich ist also bis auf die kleinen Bugs die hier besprochen wurden alles in Ordnung.
Stelle das mal um, und dann sollte selbst MipMapping keine Probleme machen (wenn die Lightmaps einzelne Texturen sind).

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 13, 2003 14:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
Ich habe noch ein Verständnisproblem. Bei folgendem Code:

Code:
  1. begin
  2. lm := Add;
  3. ZeroPosition := LightMap[lm].FindZeroUV;
  4. // Construct the plane of the polygon
  5. Plane := glPlaneFromPoints(pTriangle.Vertex[0], pTriangle.Vertex[1], pTriangle.Vertex[2]);
  6. // Find the plane on which the polygon lies
  7. PolyPlane := glGetTriangleAlignement(pTriangle.Vertex);
  8. // Get the normalvector
  9. PolyNormal := glGetNormalVector(pTriangle.Vertex[0], pTriangle.Vertex[1], pTriangle.Vertex[2]);
  10. LightMap[lm].SetupUV(pTriangle);
  11. // get the edgevectors depending on the plane on which the poly lies
  12. PlaneNormal := glVertex(Plane.a, Plane.b, Plane.c);
  13. glNormalizeVector(PlaneNormal);
  14.  


Ich verstehe nicht wie Polyplane genau in die entgegengesetzte Richtung wie Plane zeigen kann. Müsste nicht die Ebene aus 3 Punkten in die selbe Richtung wie der Normalvektor dieser 3 Punkte zeigen. Wenn ich das debugge zeigt beim ersten durchlauf z nach -1 und Polynormal nach 1?

Vielen Dank

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 13, 2003 17:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
So ganz versteh ich dich da leider nicht.PolyPlane ist doch kein Vector, sondern nur ne Variable die abspeichert auf welcher Achse das Polygon liegt.Deshalb kann man das doch gar nicht mit Plane vergleichen, oder hab ich dich da jetzt komplett falsch verstanden :? ?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 13, 2003 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
@Aya:

Du hasst doch auch in deinen Lightmapper eingebaut dass er mehrere Lightmaps in einer Bitmap erstellt. Wie hast du das Problem das teilweise an den Rändern die anderen Lightmaps durchscheinen korrigiert?

EDIT: Habs schon rausgefunden.. trotzdem vielen Dank! :P

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


Zuletzt geändert von Jdv am Sa Sep 13, 2003 18:20, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 13, 2003 17:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
Entschuldige.. ich meine natürlich Plane und Polynormal

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 13, 2003 20:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Bei der Berechnung spielt es eigentlich keine Rolle in welche Richtung die Flächenentsprechung zeigt, sondern nur die Richtung der Normalen.
Und die Vorzeichen-Diskrepanz zwischen Plane und PolyNormal kann daher rühren, das die Vertexe zur Konstruktion der Flächenentsprechung in der "falschen" Reihenfolge angegeben wurden, da darauf nicht geprüft wird.Aber wie gesagt spielt das eigentlich keine Rolle.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 14, 2003 14:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
@SoS:

ich habe mal Polynormal auf Plane gesetzt, weil du ja gesagt hast das das Vorzeichen beim Normalvektor keine Rolle spielt. Allerdings werden dann die Lightmaps nicht mehr richtig berechnet. Erst wenn ich Polynormal wieder in die entgegengesetzte Richtung wie Plane zeigen lasse dann klappt es wieder.

P.S. Noch eine Frage zur Schattenberechnung:
Macht ihr eine Ray-Triangle Intersection oder eine Line-Triangle Intersection

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 14, 2003 15:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Jdv hat geschrieben:
ich habe mal Polynormal auf Plane gesetzt, weil du ja gesagt hast das das Vorzeichen beim Normalvektor keine Rolle spielt. Allerdings werden dann die Lightmaps nicht mehr richtig berechnet. Erst wenn ich Polynormal wieder in die entgegengesetzte Richtung wie Plane zeigen lasse dann klappt es wieder.

Wenn ich ein Mathematiker wäre, dann könnte ich dir auch bestimmt sagen warum das so ist :wink: , aber da dem so nicht ist, und ich diese Lightmapberechnungen aus einem nicht von mir verfassten Dokument entnommen hab, kann ich dir leider keine plausible Erklärung dafür liefern.So lange es aber ohne Probleme funzt, spielt das eh eine untergeordnete Rolle.

Jdv hat geschrieben:
P.S. Noch eine Frage zur Schattenberechnung:
Macht ihr eine Ray-Triangle Intersection oder eine Line-Triangle Intersection

Line-Triangle (obowhl die Begriffe hier im Thread einige Male durcheinander geworfen wurden), und zwar von der Lichtposition bis zur Lumelposition.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Sep 14, 2003 15:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 01, 2002 13:25
Beiträge: 32
Wohnort: Niedersachsen
Wenn du folgende Stelle so änderst kann die Polynormal in die gleiche Richtung wie die Plane zeigen.

Code:
  1.  
  2. case info.Alignment of
  3.        taXZ  : begin y        := (Plane.Normal.x*info.uMin + Plane.Normal.z*info.vMin + PlaneDistance) / Plane.Normal.y;
  4.                      UVVector := D3DXVector3(info.uMin, y, info.vMin);
  5.                      y        := (Plane.Normal.x*info.uMax + Plane.Normal.z*info.vMin + PlaneDistance) / Plane.Normal.y;
  6.                      Vect1    := D3DXVector3(info.uMax, y, info.vMin);
  7.                      y        := (Plane.Normal.x*info.uMin + Plane.Normal.z*info.vMax + PlaneDistance) / Plane.Normal.y;
  8.                      Vect2    := D3DXVector3(info.uMin, y, info.vMax);
  9.                 end;
  10.        taYZ  : begin x        := (Plane.Normal.z*info.uMin + Plane.Normal.y*info.vMin + PlaneDistance) / Plane.Normal.x;
  11.                      UVVector := D3DXVector3(x, info.vMin, info.uMin);
  12.                      x        := (Plane.Normal.z*info.uMax + Plane.Normal.y*info.vMin + PlaneDistance) / Plane.Normal.x;
  13.                      Vect1    := D3DXVector3(x, info.vMin, info.uMax);
  14.                      x        := (Plane.Normal.z*info.uMin + Plane.Normal.y*info.vMax + PlaneDistance) / Plane.Normal.x;
  15.                      Vect2    := D3DXVector3(x, info.vMax, info.uMin);
  16.                end;
  17.        taXY  : begin z        := (Plane.Normal.x*info.uMin + Plane.Normal.y*info.vMin + PlaneDistance) / Plane.Normal.z;
  18.                      UVVector := D3DXVector3(info.uMin, info.vMin, z);
  19.                      z        := (Plane.Normal.x*info.uMax + Plane.Normal.y*info.vMin + PlaneDistance) / Plane.Normal.z;
  20.                      Vect1    := D3DXVector3(info.uMax, info.vMin, z);
  21.                      z        := (Plane.Normal.x*info.uMin + Plane.Normal.y*info.vMax + PlaneDistance) / Plane.Normal.z;
  22.                      Vect2    := D3DXVector3(info.uMin, info.vMax, z);
  23.                end;
  24.      end;
  25.  


@Line-Triangle Intersection

Könnte man nicht einfach erst eine einfach Ray-Triangle intersection vom Lumel zum licht machen und erst wenn diese eine Intersection meldet dann noch einmal mit dem selben Triangle eine Ray-Triangle Intersection vom Licht zum Lumel aus machen. Wenn beide eine Intersection melden müsste doch das Dreieck genau zwwischen den beiden liegen?

_________________
- JALE - Just another little engine <br>... it's not a bug it's a feature <br><a href='http://www.JoachimdeVries.de' target='_blank'>http://www.JoachimdeVries.de</a>


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 ... 5, 6, 7, 8, 9, 10, 11  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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.009s | 15 Queries | GZIP : On ]