| Mesaj |
Info autor |
Postat la 07 Sep 2010 22:01:12 Subiect: De ce imi apar modelele albe in joc?
|
|
|
Fuzzball info:
|
Fuzzball:
Am incercat sa introduc un model de robot mech facut de mine in 3dsmax si exportat intr-un x file in jocul meu ca si mesh. (sau, ma rog, aplicatia facuta de mine ... mai e mult pana se poate numi joc) Problema e ca imi apare in alb ca in imagine. La fel se intampla cu toate meshurile pe care le introduc. (inclusiv teapot-ul ala predefinit din libraria directx) De ce se intampla asta si cum sa fac sa imi apara normal? Are legatura cu materialul din care e facut mesh-ul?
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 07 Sep 2010 22:23:13 Subiect: < fara subiect >
|
|
|
MithY info:
|
MithY:
no textures
gamedev for life
|
|
| |
Postat la 07 Sep 2010 23:55:23 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Trebuie neaparat sa aiba textura? Nu e suficient daca are un material?
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 00:30:04 Subiect: < fara subiect >
|
|
|
boboS info:
|
boboS:
Pai arara aplicatia sau macar codu care face randarea. Da, poti sa luminezi un model care are doar o culoare spre exemplu , nu neaparat sa aiba o textura dar cine stie ce facu tu pe acolo prin cod. Poate defapt chiar trebuia sa aiba o textura care nu o gaseste sau nu ai pus coordonatele de textura.
Ultima editare efectuată de boboS pe 08 Sep 2010 00:33:56; 1 editări în total
"Noi ne facem ca muncim , ei se fac ca ne platesc"
|
Status:
Înregistrat pe: 03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator
|
| |
Postat la 08 Sep 2010 18:54:01 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Codul de initializare Cod sursă: //===============================================================================
// Mesh Initialization
//===============================================================================
HRESULT hr = 0;
//
// Load the XFile data.
//
ID3DXBuffer* adjBuffer = 0;
ID3DXBuffer* mtrlBuffer = 0;
DWORD numMtrls = 0;
hr = D3DXLoadMeshFromX(
"mech2.X",
D3DXMESH_MANAGED,
m_pDevice,
&adjBuffer,
&mtrlBuffer,
0,
&numMtrls,
&Mesh);
if(FAILED(hr))
{
::MessageBox(0, "D3DXLoadMeshFromX() - FAILED", 0, 0);
return false;
}
//
// Extract the materials, load textures.
//
if( mtrlBuffer != 0 && numMtrls != 0 )
{
D3DXMATERIAL* mtrls=(D3DXMATERIAL*)mtrlBuffer->
GetBufferPointer();
for(int i = 0; i Release();
//=============================================================================== Codul de randare Cod sursă:
//=============================================================
// Render the mesh on screen
//=============================================================
D3DXMATRIX matScale;
// Create the scaling matrix
D3DXMatrixScaling(&matScale, 0.001f, 0.001f , 0.001f);
m_pDevice->SetTransform(D3DTS_WORLD, &matScale);
for(int i = 0; i SetMaterial( &Mtrls[i] );
m_pDevice->SetTexture(0, Textures[i]);
Mesh->DrawSubset(i);
}
//==============================================================
Declaratii in header Cod sursă: //====================================================
// Mesh Testing
//====================================================
ID3DXMesh* Mesh = 0;
vector Mtrls(0);
vector Textures(0);
Ultima editare efectuată de Fuzzball pe 08 Sep 2010 18:56:38; 1 editări în total
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 18:59:11 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Adaug mesaj nou, scuze de double post.
Declaratia in header este urmatoarea (imi apare gresit in mesajul anterior):
//==================================================== // Mesh Testing //==================================================== ID3DXMesh* Mesh = 0; vector Mtrls(0); vector Textures(0);
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 19:14:25 Subiect: < fara subiect >
|
|
|
boboS info:
|
boboS:
Cand ai exportat din 3Dsmax (banuiesc cu panda exporter) ai setat si o textura pe model ? Cand faci un export la model se salveaza in fisier si pathul la textura pt fiecare subset. Cand iterezi in fisier iei fiecare subset in parte, verifici daca trebuie sa incarci vreo textura apoi incarci textura si la sfarsit o atribui subsetului cu SetTexture. Nu vad nicaieri in cod ca ai incerca sa incarci vreo textura. Daca insa nu vrei sa folosesti textura modifica in m_pDevice->SetTexture(0,NULL); nu in textura care defapt nu se incarca.
"Noi ne facem ca muncim , ei se fac ca ne platesc"
|
Status:
Înregistrat pe: 03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator
|
| |
Postat la 08 Sep 2010 19:16:09 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Hm, vad ca am postat numai balarii din cauza limitei de caractere probabil. Am uploadat programul pe net. Asta e linkul: http://www.fileshare.ro/10134167107.8le: Am testat cu un mesh inclus in DX SDK si vad ca il afiseaza cum trebuie (textura + model). Deci eroarea sta in model sau in felul in care am exportat din 3DSMax, nu in program (sau cel putin asa cred). Am exportat cu Panda Exporter, toate setarile din fereastra exporterului le-am lasat asa cum erau. Modelul are un singur material dar cand am facut debugging am vazut cu stupoare ca sunt 109. Cu XViewer (view-erul de meshuri care vine cu DX SDK) se vede normal.
Ultima editare efectuată de Fuzzball pe 08 Sep 2010 19:30:12; 2 editări în total
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 20:03:02 Subiect: < fara subiect >
|
|
|
boboS info:
|
boboS:
Din codul tau:
m_pDevice->SetMaterial( &Mtrls ); if (!Textures) { m_pDevice->SetTexture(0, Textures[..]); }
Mai sus tu verifici daca textura nu exista si daca nu exista randezi, ceea ce nu e logic. Scoate semnul exclamarii dinaintea lui Textures[..].
Ultima editare efectuată de boboS pe 08 Sep 2010 20:04:51; 2 editări în total
"Noi ne facem ca muncim , ei se fac ca ne platesc"
|
Status:
Înregistrat pe: 03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator
|
| |
Postat la 08 Sep 2010 20:57:23 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Am inlocuit partea din cod mentionata de tine cu:
if (Textures) { m_pDevice->SetTexture(0, Textures); } else { m_pDevice->SetTexture(0, NULL); }
Verific acum daca merge sau nu
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 21:52:20 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Tot nu merge. Am testat cu un box texturat facut in 3dsmax si merge. Dupa aia am mai facut un box de data asta netexturat, doar cu un material. Am vazut ca materialul e preluat din fisierul respectiv in vector cand am facut debugging dar dintr-un motiv anume nu il rendeaza.
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 08 Sep 2010 21:58:00 Subiect: < fara subiect >
|
|
|
boboS info:
|
boboS:
Sigur ai modificat cum trebuie ca eu am testat proiectu uploadat de tine si mi-a mers? http://www.fileshare.ro/10139777139.8
Ultima editare efectuată de boboS pe 08 Sep 2010 22:03:36; 1 editări în total
"Noi ne facem ca muncim , ei se fac ca ne platesc"
|
Status:
Înregistrat pe: 03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator
|
| |
Postat la 09 Sep 2010 10:20:49 Subiect: < fara subiect >
|
|
|
Fuzzball info:
|
Fuzzball:
Am testat si proiectul pus in link de tine. Se intampla la fel: meshurile care sunt texturate se vad bine dar meshurile netexturate si au doar material se vad in alb.
Will code for food.
|
Status:
Înregistrat pe: 20 Apr 2008 16:32:46
Vârsta: 27 ani
Mesaje: 106
Locatie: Asteroid of neverending rape and faggotry
Programator
|
| |
Postat la 09 Sep 2010 14:58:16 Subiect: < fara subiect >
|
|
|
boboS info:
|
boboS:
Aaa, eu citisem initial ca nu iti merg texturile si de aceea ramasesem pe ideea asta. Pai ce ai vrea sa vezi ? Baga-ti o lumina in scena si apoi seteaza un material pe un mesh si va fi luminat un functie de setarile de la material.
"Noi ne facem ca muncim , ei se fac ca ne platesc"
|
Status:
Înregistrat pe: 03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator
|
| |
Postat la 09 Sep 2010 15:01:00 Subiect: < fara subiect >
|
|
|
AngeReveur info:
|
AngeReveur:
M-am uitat peste codul atasat, pentru a vedea modelul doar cu material trebuie sa faci iluminarea corespunzatoare, apare cu alb deoarece nu se reflecta nicio lumina care sa dea culoare obiectului... din cate am vazut eu in cod lumina este stinsa -> "m_pDevice->SetRenderState(D3DRS_LIGHTING, false);" Poti citi mai multe aici -> http://directxtutorial.com/Tutorial9/B-Direct3DBasics/dx9B9.aspx
Ultima editare efectuată de AngeReveur pe 09 Sep 2010 15:15:46; 1 editări în total
|
Status:
Înregistrat pe: 15 Nov 2009 01:57:16
Vârsta: 23 ani
Mesaje: 14
Locatie: Oradea
Programator
|
| |