![]() |
[opengl] rotatie matrices
Ik hoop dat er hier iemand is die wat van opengl afweet. mijn probleem is als volgt:
sinds kort heb ik ontdekt hoe ik zelf matrices kan gebruiken om translaties en rotaties uit te voeren in opengl (dus met glmultmatrixf() ipv met glrotatef() en gltranslatef()). op het moment dat ik nu een simpele kubus om zijn as laat draaien met behulp van die matrices, wordt op de een of andere manier behalve de positie, ook de belichting beinvloed. de belichting veranderd voor die kubus (en alleen die kubus) voortdurend van verzadigings sterkte, terwijl ik de waarden voor de positie en de ambient van mijn lichtbron toch echt niet aanpas. weet iemand misschien waar dit door komt, en hoe ik het kan verhelpen? alvast bedankt |
ik ben zelf nog niet met belichting bezig maar uit je tekst afgeleid denk ik dat opengl met glrotatef en gltranslatef alleen het object op een andere plaats en in eren andere positie weergeeft maar dat belichting al vantevoren wordt toegevoegd waardoor het licht dus altijd op hetzelfde vlak van je kubus schijnt.
als dit zo is zul je je object handmatig moeten rotaten en verplaatsen en op die nieuwe coordinaten je belichting toepassen hier een stukje theorie over het handmatig berekenen van rotaties en verplaatsingen (met een voorbeeld in C++ mocht je daarin programeren): http://www.gamedev.net/reference/art...article877.asp (al is het overigens wel aan te raden om met quads te werken ipv vertices om gimbal lock te voorkomen) |
Ik denk dat het daar inderdaad aan ligt. heel vervelend, want ik wilde juist expres niet alle hoekpunten van de kubus opslaan, maar alleen het zwaartepunt en een richting :(. ik zal ze toch maar uitrekenen.
bedankt |
Citaat:
|
Citaat:
|
Citaat:
(en ja ik weet wel wat vertices zijn anders gaat het bouwen van een mmo engine niet echt ;) ) Citaat:
|
Citaat:
ja goed, maar dan moet ik ze steeds opnieuw uitrekenen :). ach, daar heb je computers voor, is ook :) eerst roteerde ik de matrix dus gewoon rond het zwaartepunt, en tekende dan een kubus. toch goed dat die belichting me er even op wijst dat dat niet goed is :) edit: een stap verder, bedenk ik me dat ik die punten toch moet genereren voor collision detection. het werkt nu, hartstikke bedankt :) |
Citaat:
|
Citaat:
|
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 01:09. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.