 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sec Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 15.10.2002, 07:23 Titel: LIGHT |
|
|
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 15.10.2002, 13:44 Titel: |
|
|
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 |
|
 |
Sec Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 17.10.2002, 07:10 Titel: |
|
|
wenn ich
Code: |
...
Light.diffuse.r = 1.0f;
Light.diffuse.g = 0.0f;
Light.diffuse.b = 0.0f;
...
|
gehts auch nicht
kann mir jemmand weiterhelfen  _________________ MFG Sec |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 17.10.2002, 08:14 Titel: |
|
|
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 |
|
 |
Sec Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 17.10.2002, 19:59 Titel: |
|
|
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  _________________ MFG Sec |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 17.10.2002, 20:05 Titel: |
|
|
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 |
|
 |
DA Gast
|
Verfasst am: 30.10.2002, 17:29 Titel: |
|
|
Ist ganz einfach.
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


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 30.10.2002, 19:23 Titel: |
|
|
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 |
|
 |
|
|
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
|