Autor | Zpráva |
---|---|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Mám dojem, že OBB musí v tomto případě odfiltrovat jen malou část false intersects, takže by IMHO bylo lepší buď objekt vybrat už po AABB (pokud děláš picking), nebo udělat per-triang ... | |
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
No a nejde ty OBB spočítat jednou a pak je transformovat úplně stejně jako vertexy?
Přesně tak jsem se to snažil udělat, na začátku jsem si spočetl OBB a pak jsem v každém kroku pro k ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
A není náhodou ten výpočet složitý právě díky tomu?
Abych pravdu řekl, tak mi ten pojem kovariantní matice, nic moc neříká, ale už jen z hlediska výpočtu vlastních čísel a vektor ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
A jak že počítáš ty OBB?
Z kovarianční matice spočítám vlastní vektory a hodnoty, z čehož pak určím střed, hlavní osy a velikost |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Aha takže jestli tomu rozumím dobře, tak kdybych například vystřelil na model, tak by výpočet mohl být následovně?
1. projdu viditelné AABB modelů (každý model mám obalen jedním AA ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Po čase jsem se k tomuto vrátil a trochu postoupil dál a objevil se nový problém. Mám nyní model pokrytý OBB. Funguje to u mě tak, že pro každou skupinu vertexů příslušející k jointu ... | |
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Takže chyba byla ve vykreslování, jsem vykresloval menší počet vertexů než kolik jich měl model. Takže všechno už funguje.
Rád bych se ale zeptal v čem by byla výhoda použití kvater ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Objevil jsem dvě chybičky, zřejmě.
1. přepsal jsem v renderu glVertexPointer(3, GL_FLOAT, 0, (char*)NULL); na glVertexPointer(4, GL_FLOAT, 0, (char*)NULL); páč posílám vlastně ješ ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Ano když odstrraním curMatrix projeví se to tak, že je to takový malý shluk trojúhelníku v malé oblasti.
Zatímco když tam nechám tu matici, tak je to o dost větší shluk trojúhelníku ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Tak kupodivu mi to nefunguje ![]() Postupuji, tak jak jste mi poradili, čili do vertexu jako atribut w předávám index joint matice: CVector4* v_Temp = new CVector4[this->m_usNumTriangles ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
OK tak zatím všem děkuji, zkusím se na to vrhnout a uvidím jak to půjde, popřípadě se opět ozvu. Myslím ale, že jsem získal všechny informace, které jsem potřeboval ![]() |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
len daj pozor a v shadery pred tranformaciou prepis ten W index na 1.0.
a ked budes mat uniform mat4 bones No já to mám takto: VERTEX SHADER: uniform mat4 bone[MAXBONE]; . . takže teď ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
semoČili získávám index jointu, ke kterému je přiřazen vertex. Pokud bych vykresloval po trojúhelníkách tak bych to do shaderu nacpat uměl, ale když to pak vykresluji přes VBO(jak ukazuji ... | |
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Já osobně bych matice převedl na quaternion (místo matice 4x4 dostaneš pouze 7 hodnot(3 pro pozici a 4 pro natočení)) a ten teprve posílal do shaderu Ano, tak jsem to zkoušel taky ni ... |
|
![]() |
|
HonzikJ Odpovědi: 41 Shlédnuto: 17845 |
![]() |
Zdravím,
řeším teď skeletální animace. Načítám model z MS3D. Zatím tak, že pro každý joint mám vlastní matici (zhruba takto): struct joint { .. CMatrix4f matrix; } a ... |
|
Časy uváděny v GMT + 1 hodina |
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna