JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=439bba73dd4d1e3e1130a08910dc6007Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

LIGHT

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sec
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 15.10.2002, 07:23    Titel: LIGHT Antworten mit Zitat

Hallo,
also ich wollt wissen wie man farbige lichter erzeugt
wenn ich z.b.:
Code:

...
Light.Diffuse.r = 255.0f;
Light.Diffuse.g = 0.0f;
Light.Diffuse.b = 0.0f;
...

ist das Licht immer noch weiss stat rot
_________________
MFG Sec
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 15.10.2002, 13:44    Titel: Antworten mit Zitat

Ich bin mir nicht sicher, aber muss man die Werte nicht von 0.0f - 1.0f angeben? Wie gesagt, ich hab es nich nachgeguggt, hatte nur sowas in Erinnerung...
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sec
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 17.10.2002, 07:10    Titel: Antworten mit Zitat

wenn ich
Code:

...
Light.diffuse.r = 1.0f;
Light.diffuse.g = 0.0f;
Light.diffuse.b = 0.0f;
...

gehts auch nicht Evil or Very Mad
kann mir jemmand weiterhelfen Question Crying or Very sad
_________________
MFG Sec
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 17.10.2002, 08:14    Titel: Antworten mit Zitat

Wahrscheinlich hast du vergessen, deinem D3D-Device mitzuteilen, daß es die Lichtberechnung mit beachten soll, was anderes fällt mir im Moment auch nicht ein.

Schau doch noch mal im Buch nach, dort gab es doch einen ganzen Abschnitt, der sich mit Licht befasst hat.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sec
Junior JLI'ler



Anmeldedatum: 18.09.2002
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 17.10.2002, 19:59    Titel: Antworten mit Zitat

Ha???
Wenn das Würfel eine Texture hat reagiert das Licht nicht auf das Würfel,
aber wenn ich es ohne Texture lade klappt es Question
_________________
MFG Sec
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 17.10.2002, 20:05    Titel: Antworten mit Zitat

Dieses Problem hatte ich auch schonmal.
Kann es sein, daß man dafür Multitexturing nutzen muß, also einmal die Textur und einmal die Lichtfarbe zusammengemischt? Wie das genau geht, weiß ich nicht, muß mal nachlesen...

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DA
Gast








BeitragVerfasst am: 30.10.2002, 17:29    Titel: Antworten mit Zitat

Ist ganz einfach.


Code:


lpD3DDevice->SetStreamSource(0,VB_Face,sizeof(CustomVertex));

// Textur festlegen
lpD3DDevice->SetTexture(0,lpTexture);
lpD3DDevice->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 0);
lpD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
lpD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

lpD3DDevice->SetTexture(1,lpTextureLight);
lpD3DDevice->SetTextureStageState(1,D3DTSS_TEXCOORDINDEX, 0);
lpD3DDevice->SetTextureStageState(1,D3DTSS_COLORARG1, D3DTA_TEXTURE);
lpD3DDevice->SetTextureStageState(1,D3DTSS_COLORARG2, D3DTA_CURRENT);
lpD3DDevice->SetTextureStageState(1,D3DTSS_COLOROP, D3DTOP_MODULATE);

lpD3DDevice->DrawPrimitive(TRIANGLELIST,0,2);
//Und zum schluss noch
//
// festlegen, dass keine Textur verwendet werden soll
lpD3DDevice->SetTexture(0,NULL);
lpD3DDevice->SetTexture(1,NULL);


1. Also Datenstrom setzen.
2.Texturen festlegen
3. Zeichnen
4. festlegen das keine Textur
ferwendet wird.

Ganz einfach oder?

Frage:
Wofür braucht man dann noch das Light in directX da
ja fast überall Texturen verwendet werden.
Nach oben
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 30.10.2002, 19:23    Titel: Antworten mit Zitat

Zitat:
Frage:
Wofür braucht man dann noch das Light in directX da
ja fast überall Texturen verwendet werden.

Weil Fullbright-Texturen nicht besonders gut aussehen?!?

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum