Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

Witam!

 

Piszę właśnie konwerter z tekstowego OBJ do binarnego, aby potem móc szybko i ładnie ładować modele za pomocą funkcji w jakimś napisanym przez siebie DLL-u.

 

Tu rodzą się moje pytania, a mianowicie:

1) Czy muszę wyliczać normalne? Wydaje mi się, że tak, ale wolę się upewnić.

2) W jaki sposób zapisuje się "współrzędne" normalnej?

  • Odpowiedzi 4
  • Wyświetleń 2,4k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

w pliku obj masz normalne vertexow zazwyczaj (vn)

jak chcesz obliczyc do face'a to:

 

w przypadku tri'sa np tak:

 

VERTEX3D Face::CountNormal(VERTEX3D a, VERTEX3D b, VERTEX3D c)

{

 

// a---P-->b

// | /

// | /

// | /

// Q /

// | /

// V /

// c

 

GLfloat Px,Py,Pz,Qx,Qy,Qz;

VERTEX3D N;

 

///

Px = b.x - a.x;

Py = b.y - a.y;

Pz = b.y - a.z;

 

 

Qx = c.x - a.x;

Qy = c.y - a.y;

Qz = c.z - a.z;

 

//

 

 

 

N.x = ( ( Qz * Py ) - ( Qy * Pz ) );

N.y = ( ( Qx * Pz ) - ( Qz * Px ) );

N.z = ( ( Qy * Px ) - ( Qx * Py ) );

return N;

 

}

 

gdzie VERTEX3D jest zdefiniowany jako:

 

class VERTEX3D

{

public:

GLfloat x;

GLfloat y;

GLfloat z;

}

 

normalna to wektor wiec nie ma wspolrzednych

 

pozdr

 

;)

Napisano
  • Autor

@up: A ja mam problem, bo mi exporter Max to Obj nie zapisuje vn (choć kazałem mu). A poza tym zapisuje do pliku tekstowego, które jest niewydajny i trudny do odczytania.

 

Wielkie dzięki za rozwianie mych wątpliwości, Kru !

Napisano
  • Autor

Jeszcze jedno pytanie, choć nie związane z normalnymi (ale też z OpenGL :> )

 

Otóż: mój konwerter Max->Obj (Max2Obj) przypisuje wierzchołkom tekstury trzy współrzędne. Co oznacza ta trzecia? Bo dla mnie (intuicyjnie) taki wierzchołek powinien posiadać dwie współrzędne (ponieważ mapa do tekstury jest zazwyczaj dwuwymiarowa).

 

Z góry dziękuję za odpowiedź!

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.