Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
Tarih: Mon Dec 05, 2005 3:32 pm Mesaj konusu:
Billboard yapmak mı isteniyor? ben mi yanlış anladım!?
Eğer bilboardsa amaç: il hedef billboard'ın hangi eksen üzerinde kamera ya bakacağı tespit edilmeli, örneğin bir ağaç olabilir ve sadece Y ekseni etrafında dönmesi istenmekte
Bunun için yapılacak aşamalar:
1. Kameranın bakış vektörünü tespit edip birim yapmak
Yon = -(Vektor3d::Birim(Kamera.Bakış - Kamera.Konum));
2. Birim çemberinin 0. açısı ile ters olan kamera yön açısı arasındaki farkı bulunur bu açı ağacın ne kadar döndürüleceğini verecek
AciFarki = Vektor3d::Dot3(Vektor3d(0, 0, 0), Agac.NormalVektor);
3. Bulunan açı ağaca uygulanır!
glRotatef(AciFarki, 0.0f, 0.0f, 1.0f);
AgaciCiz();
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
Tarih: Mon Dec 05, 2005 3:41 pm Mesaj konusu:
Bugging demiş ki:
Billboard yapmak mı isteniyor? ben mi yanlış anladım!?
Eğer bilboardsa amaç: il hedef billboard'ın hangi eksen üzerinde kamera ya bakacağı tespit edilmeli, örneğin bir ağaç olabilir ve sadece Y ekseni etrafında dönmesi istenmekte
Bunun için yapılacak aşamalar:
1. Kameranın bakış vektörünü tespit edip birim yapmak, ters çevirmek ve y eksenini 0'lamak
Yon = -( Vektor3d::Birim(Kamera.Bakış - Kamera.Konum) * (1.0f, 0.0f, 1.0f) );
2. Birim çemberinin 0. açısı ile ters olan kamera yön açısı arasındaki farkı bulunur bu açı ağacın ne kadar döndürüleceğini verecek
AciFarki = Vektor3d::Dot3( Vektor3d(0, 0, 0), ( Agac.NormalVektor*Vector3d(1, 0, 1) ) );
3. Bulunan açı ağaca uygulanır!
glRotatef(AciFarki, 0.0f, 1.0f, 0.0f);
AgaciCiz();
Kayıt: Mar 06, 2004 Mesajlar: 351 Nereden: Eskişehir
Tarih: Mon Dec 05, 2005 3:54 pm Mesaj konusu:
devreci demiş ki:
Bu arada aynı şeyden mi bahsediyoruz ?
Pardon, yeni gördüm.
Kesinlikle ve kesinlikle aynı şeyden bahsetmiyoruz. Senin örnekte kamera yerinden oynamıyor Alttaki quad'i çevirip çiziyorsun sanırım.
........................................................................................
Lütfen biraz kod yazım geleneklerini takip ediver devreci. Şu kadarcık kodu okurken daralıyorum
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
Tarih: Mon Dec 05, 2005 4:07 pm Mesaj konusu:
Bugging Volume II demiş ki:
Billboard yapmak mı isteniyor? ben mi yanlış anladım!?
Eğer bilboardsa amaç: il hedef billboard'ın hangi eksen üzerinde kamera ya bakacağı tespit edilmeli, örneğin bir ağaç olabilir ve sadece Y ekseni etrafında dönmesi istenmekte
Bunun için yapılacak aşamalar:
1. Kameranın bakış vektörünü tespit edip birim yapmak, ters çevirmek ve y eksenini 0'lamak
Yon = -( Vektor3d::Birim(Kamera.Bakış - Kamera.Konum) * (1.0f, 0.0f, 1.0f) );
2. Birim çemberinin 0. açısı ile ters olan kamera yön açısı arasındaki farkı bulunur bu açı ağacın ne kadar döndürüleceğini verecek
AciFarki = Vektor3d::Dot3(Vektor3d(0, 0, 0), Yon);
3. Bulunan açı ağaca uygulanır!
glRotatef(AciFarki, 0.0f, 1.0f, 0.0f);
AgaciCiz();
Bu forumda yeni konular açamazsınız Bu forumdaki mesajlara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız