raV Napisano Listopad 29, 2010 Zgłoś Share Napisano Listopad 29, 2010 Cześć! Nie mogę znaleźć odpowiedzi na (chyba) proste pytanie: Załóżmy, że definiuję źródło światła w punkcie (x,y,z) świecące w kierunku ujemnych Y (pionowo w dół). Następnie, przy każdym rysowaniu sceny, odsuwam ją np translate(a,b,c) Czy źródło światła będzie w punkcie (x,y,z), czy (x+a,y+b,z+c) ? Ten sam problem - inny przykład: definiuję światło równoległe, np biegnące wzdłuż osi OX. Przy każdym rysowaniu obracam scenę np o 90 stopni wokół OY Czy światło będzie padało dalej wzdłuż *bezwględnego* OX, czy *bezwględnego* OZ? Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Listopad 30, 2010 Zgłoś Share Napisano Listopad 30, 2010 Jeżeli robisz to w ten sposób: glLoadIdentity(); gluLookAt(...); //opcjonalnie //ustalenie pozycji światła glPushMatrix(); //przekształcenia //rysowanie sceny glPopMatrix(); to światło będzie przesunięte/obrócone tylko względem elementów sceny, samo w sobie będzie w tym miejscu, w którym je ustawiłeś, bo przekształcenia go nie dotyczą. Ale myślę, że najpewniej jest sprawdzić to samemu. Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Grudzień 2, 2010 Autor Zgłoś Share Napisano Grudzień 2, 2010 Robię tak: Tworzę źródło światła (GL_POSITION etc) W pętli głównej rysuję scenę (z różnym glTranslate i glRotate) Wydaje mi się, że te transformacje nie ruszają mojego światła, ale chciałbym się upewnić. tranformacje są w GL_MODELVIEW Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Grudzień 2, 2010 Zgłoś Share Napisano Grudzień 2, 2010 Najlepiej, żeby światło ustawiać bezpośrednio przed każdorazowym rysowaniem sceny, wtedy masz pewność, że będzie cały czas na swoim miejscu. Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
raV Napisano Grudzień 2, 2010 Autor Zgłoś Share Napisano Grudzień 2, 2010 No ale w tym tez problem - nie wiem GDZIE, skoro nie wiem jaki jest układ odniesienia Link do komentarza Udostępnij na innych stronach More sharing options...
Adam27 Napisano Grudzień 2, 2010 Zgłoś Share Napisano Grudzień 2, 2010 Można przyjąć, że układem odniesienia jest początkowy układ bez żadnych przesunięć ani obrotów. Załóżmy, że ustawiasz światło w punkcie (0, 5, 0), później dokonujesz translacji (0, 2, 0) i rysujesz punkt w miejscu (0, 0, 0). Bez tej translacji światło znajdowałoby się równo 5 jednostek nad punktem, ale będzie 3 jednostki, ponieważ przemieściliśmy tylko punkt 2 jednostki w górę, a bezwzględna pozycja światła nie zmieniła się. Etharnion - 2D RPG Szukam grafika chętnego do współpracy przy projekcie. Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.