Aktuelle Zeit: 15.05.2024, 01:20

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
BeitragVerfasst: 09.10.2007, 15:26 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
mir sind jetzt mal die normal vektoren egal licht -> später aber nun interessiert mich was anderes ich zeichne ne liste von koordinaten mit drawIndexedTriangleList jetzt ist aber irgentwie das problem das eine hälfte falschherum gezeichnet wird also aufn kopf nur sichtbar
Dateianhang:
obenunten.JPG
obenunten.JPG [ 27.17 KiB | 4225-mal betrachtet ]


vertices stimmen soweit ich weiß(überprüft)
woran kann es noch liegen?

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 09.10.2007, 15:39 
Offline
Moderator

Registriert: 26.03.2007, 20:06
Beiträge: 114
Du musst die Vertices in einer ebstimmten Reihenfolge indexieren, damit das Culling funktioniert also entweder ClockWise oder CounterClockWise. Wenn du damit nix anfangen kannst, dürfte es auch erst mal helfen einfach das Backfaceculling abzuschalten.
Und mit den Normalen solltest du dich schon auseinandersetzen, ist eines der elementarsten Sachen in der Grafikprogrammierung.


Nach oben
 Profil  
 
BeitragVerfasst: 09.10.2007, 15:47 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
ja ich weiß ja wie das mit den normalen funtzt(hab in meinem spielentwicklungsbuch nen paar seiten vor geblättert :P) aber hab halt kein plan wie ich die da einzusetzen hab das es gut passt :D
mhh kannst mal bitte nen bsp machen wie das mit dem uhrzeigersinn meinst ich kann mir darunter nich wirklich was vorstellen

momentan mach ichs so:
Dateianhang:
berechnungsmuell.JPG
berechnungsmuell.JPG [ 4.36 KiB | 4214-mal betrachtet ]


also die indiez liste:
0 1 2
1 2 3
1 3 4
4 3 6
4 5 7
usw...

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 09.10.2007, 16:09 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
0 1 2
1 3 2
1 4 3
4 6 3

Oder anders herum, kP :p
(Ich hab das schon länger nicht mehr manuell gemacht -.-)

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 09.10.2007, 19:12 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
so jetzt funtzt es größten teils aber noch ne frage was passiert wenn man zuviele indiezen angegeben hat? dürfte doch egtl nix passieren weil man ja die größe angegeben hat oder?

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 10.10.2007, 08:12 
Offline

Registriert: 23.09.2007, 16:47
Beiträge: 35
Zu viele?

Ein Dreieck wird immer auf der Seite gezeichnet, wo die Indizes gegen den Uhrzeigersinn im Buffer stehen (CCW = counter clockwise). Sowas kann man auch umstellen auf CW(clockwise) oder NULL (beide Seiten werden gerendert).
Das ganze wird Backfaceculling genannt und verhindert, nicht sichtbare Polygone (weil man die halt nur von einer Seite sehen kann) gar nicht erst zu rendern.

Indizes kannst du so viele anlegen wie du willst, musst halt nachher nur den ganzen Buffer lesen. Du kannst auch mehrmals das gleiche Polygon zeichnen, macht halt nur wenig Sinn.

Für die Vertexnormalen:
Du kannst eine Normale für ein Polygon berechnen (dieser Normalenvektor steht dann halt senkrecht auf dem Polygon), sowas könntest du über irr::core::plane3d machen, denke ich oder halt selber ne Funktion schreiben. Die Normale eines Vertex kannst du dann berechnen, indem du den Durchschnitt aller anliegenden Polygonnormalen nimmst (achte darauf, dass vorher alle Normalen "normalisiert" sind, also die "Länge" eins haben).


Nach oben
 Profil  
 
BeitragVerfasst: 10.10.2007, 20:03 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
mhh so hab ich soweit, jdoch versuch ich noch ne liste zo zeichnen aber irgentwie hängt eine koordinate immer am mauszeiger



edti: so hab jetzt alles nu fehlt die texturierung wie texturier ich jetzt das mesh hab nix passendes in der doku gefunden bei drifer bzw material oder so

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 12.10.2007, 18:00 
Offline

Registriert: 23.09.2007, 16:47
Beiträge: 35
Über IVideoDriver kannst du ein Material setzen (setMaterial), welches wiederum Texturen enthalten kann (SMaterial::setTexture(u32 i, ITexture *tex))
Nimm TextureLayer 0, also i = 0


Nach oben
 Profil  
 
BeitragVerfasst: 12.10.2007, 20:12 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
SMaterial::setTexture gibts net

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 12.10.2007, 20:35 
Offline

Registriert: 23.09.2007, 16:47
Beiträge: 35
Code:
void irr::video::SMaterial::setTexture  (  u32  i, 
  ITexture *  tex
)  [inline]

   Sets the i-th texture.


Definition at line 252 of file SMaterial.h.


Nach oben
 Profil  
 
BeitragVerfasst: 12.10.2007, 21:44 
Offline
Benutzeravatar

Registriert: 24.07.2007, 23:11
Beiträge: 283
gibts bei mir net welche irrlicht version hast du? habs jetzt apropo mit .Textures[0] = hinbekommen

_________________
Be Fluffy!
kemomi.de


Nach oben
 Profil  
 
BeitragVerfasst: 12.10.2007, 22:11 
Offline

Registriert: 23.09.2007, 16:47
Beiträge: 35
1.4 beta :lol:


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 27 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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