[CG] Diffuse puntbron

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

JR
Posts: 23

[CG] Diffuse puntbron

Post#1 » Sat May 08, 2010 7:39 am

Verrassend genoeg de eerste vraag over Computer Graphics dit jaar :o

Is er iemand al in geslaagd om belichting vanuit een diffuse puntbron (correct) te implementeren? Ik ben er al meer dan een week mee aan't klooien, zonder succes. Aan mijn Z-Buffer algoritme ligt het niet, want ik krijg de kleuren in mijn originele vertices a, b en c ook niet goed krijgen.

Weet er misschien iemand op basis van welke coördinaten ge uwe normaal n moet bereken, en naar welke coördinaten (x,y,z) uit de buffer terug moet zetten (waarschijnlijk dezelfde?)? De keuze is tussen de uiteindelijke schermcoördinaten, de geprojecteerde maar niet geschaalde en verschoven coördinaten, de eyepoint-coördinaten of de oorspronkelijke wereldcoördinaten. Uit de (beknopte) uitleg in de cursus maak ik op dat ge de eyepoint-coördinaten moet nemen voor allebei, maar dat schijnt niet te werken?

Als het inderdaad de eyepoint-coördinaten zijn, zou het dan kunnen dat er een belangrijk detail niet in de cursus staat of zo? Misschien iets dat in de les is uitgelegd?

Alvast bedankt bij voorbaat voor de hulp, zelfs al komt er geen hulp ;)

Glenn
Posts: 280

Post#2 » Tue May 25, 2010 2:28 pm

Als ik mij niet vergis moet je de belichting bepalen met de eye-point coordinaten. Je bepaalt in eye-point coordinaten de genormeerde vector die loodrecht staat op je vlak. Vervolgens bepaal je ook nog de vector die gaat van een hoekpunt van je vlak naar de lichtbron (of deze laatste genormeerd moet zijn, weet ik niet). Van deze twee neem je het dotproduct.

Let op: tijdens je z-bufferberekening zit je waarschijnlijk al met geprojecteerde coordinaten te werken. Het is een goed idee om je oorspronkelijke diepte in eye-point coordinaten bij te houden alvorens je met z-buffer start (bv. door deze op te slaan in een 4de coordinaat van je vector). De oorspronkelijke x en y hoef je (denk ik) niet bij te houden, aangezien je deze denk ik terug kan vinden met een projectie-inversie.

JR
Posts: 23

Post#3 » Thu May 27, 2010 5:40 pm

Het moest 1 dag voor je post worden ingestuurd :D
Maar toch bedankt voor het antwoord.

Ik heb het volgens mij ook effectief gedaan zoals je aangeeft, door eerst mijn normaal te bepalen, en dan de vector vanuit het punt naar mijn lichtbron. Misschien moest deze laatste inderdaad niet genormaliseerd worden, en zit daar mijn fout. Ik vind/vond het ook nogal "summier en intuïtief" (lees: onduidelijk) uitgelegd in de cursus. Mijn punten kopieer ik altijd voordat ik transformeer, dus daar ligt het niet aan, want ik heb alle vormen (ongeprojecteerd, geprojecteerd zonder WToV en geprojecteerd) uitgetest, geen enkele gaf de juiste kleuren.

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 5 guests