JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Lichtquellen

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



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.08.2004, 18:27    Titel: Lichtquellen Antworten mit Zitat

Wie baut man mehrere Lichtquellen in eine 3D welt ein? Ich weiß nur, wie man eine einbaut.
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 14.08.2004, 18:56    Titel: Antworten mit Zitat

Wie baust du denn eine ein?!?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.08.2004, 21:17    Titel: Antworten mit Zitat

Ich meine diese Programmzeilen. Die dürften dir bekannt vorkommen:

Code:


   ZeroMemory(&m_Light,sizeof(D3DLIGHT9));

    // bei der Lichtquelle soll es sich um eine
    // Punktlichtquelle handeln
    m_Light.Type = D3DLIGHT_POINT;
   
    // die Lichtfarbe wird auf Weiß gesetzt
    m_Light.Diffuse.r = 1.0f;
    m_Light.Diffuse.g = 1.0f;
    m_Light.Diffuse.b = 1.0f;
   
    // das Licht soll eine Reichweite von 1000 haben
    m_Light.Range = 1000.0f;
   
    // das Licht wird an der gleichen Stelle positio-
    // niert, an der sich auch unsere Kamera befindet
    m_Light.Position = D3DXVECTOR3(0.0f, 10.0f, 0.0f);
   
    // das Element Attenuation0 bestimmt, wie stark die
    // Lichtstärke mit der Entfernung abfällt   
    // 1.0 bedeutet dabei keinen Abfall der Lichtstärke
    m_Light.Attenuation0 = 1.0f;

    // das definierte Licht bekommt die Nummer 0
    Direct3D.GetDevice()->SetLight(0,&m_Light);
   
    // Lichtquelle anschalten
    Direct3D.GetDevice()->LightEnable(0,TRUE);

    // Licht einschalten
    Direct3D.GetDevice()->SetRenderState(D3DRS_LIGHTING,TRUE);

     // Ambientes Licht aktivieren
    Direct3D.GetDevice()->SetRenderState(D3DRS_AMBIENT,0x00F0F0F0);

_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 14.08.2004, 21:38    Titel: Antworten mit Zitat

Ja, du musst das zweite Light halt eine andere Nummer zuweisen!
Also bei

Direct3D.GetDevice()->SetLight(0,&m_Light);

Direct3D.GetDevice()->LightEnable(0,TRUE);

statt die 0 halt eine 1. Dürfte eigentlich klappen(hab nämlich die DX Parameter ned mehr ganz im Kopf!).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 15.08.2004, 00:20    Titel: Antworten mit Zitat

Tatsächlich. Nen Auge muss man haben.
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 15.08.2004, 17:00    Titel: Antworten mit Zitat

Ne Gute Idee ist es die Lichter in eine Liste oder ähnliches abzulegen und nur die Lichter zu aktivieren welche Objekte im Sichtbereich beeinflussen, das spart Performance und is auch gut wenn man mit Shadern arbeiten möchte.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 06.09.2004, 14:35    Titel: Antworten mit Zitat

In dem 2. JLI buch gabs nur ein Beispiel zu Punktlichtern. Wie sieht denn ein Codebeispiel für Spotlight und direktionales Licht aus?
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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