Witam.
Chcialbym zbudowac cala geometrie od podstaw.
Czyli mam dane wierzcholki (x,y,z, kolor) i potrafie z nich zbudowac face'y.
Budowa geometrii nie stwarza mi problemow, gdyz jakos to wyglada - gorzej jest z kolorami.
Z tego co wyczytalem w referencji max traktuje geometrie i kolory / textury calkiem osobno. I jak dobrze zrozumialem trzeba zbudowac dla tej geometrii siatke wierzcholkow i face'ow tylko ze dla kolorow, gdzie odpowiadajacym wierzcholkom z geometrii beda odpowiadaly wierzcholki kolorow, ktore zamiast [x,y,z] beda mialy [r,g,b].
No i mam problem z tymi kolorami - robie te wierzcholki koloru, nadaje im jakis kolor (i to dziala, bo jak sprawdzam edit mesha recznie, to mi tam pokazuje kolory wierzcholkow i sie zgadzaja z tymi, ktore wpisalem w skrypcie), ale juz przy renderingu tego nie ma.
Nie wiem teraz, czy musze zastosowac jakis model cieniowania samemu (np Gourauda), czy max sobie potrafi sobie sam z tym poradzic.
Pokaze to na najprostrzym przykladzie :
mam 3 wierzcholki [0,0,0], [20,0,0], [0,20,0]
z nich buduje mesh :
troj = mesh vertices: #([0,0,0], [20,0,0], [0,20,0]) faces:#([1,2,3])
Teraz nie ma ten mesh zadnych wierzcholkow koloru, poniewaz jak wpisuje
ile = getNumCPVVerts troj , to ile ma wartosc 0.
Dopiero po zastosowaniu defaultVCFaces troj ma ona wartosc 3, czyli tyle ile sie mozna bylo spodziewac.
Nastepnie ustalam jakies kolorki:
setVertColor troj 1 [0,0,0]
setVertColor troj 2 [255,0,0]
setVertColor troj 3 [255,0,0]
i wywoluje update troj.
No i mimo ze zmienilem kolory wierzcholkow, to zarowno w widoku jak i w renderze kolor sie nie zmienia. A z tego co myslalem powinien przechodzic od czerwonego do czarnego.
Co robie zle ? (mam nadzieje ze jakos to w miare wytlumaczylem :) )