Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Programare » Grafică » De ce imi apar modelele albe in joc?




Pagina 1 din 2 [ 1 | 2 ]

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


Status:
Înregistrat pe:
25 Feb 2007 20:12:02
Vârsta: 22 ani
Mesaje: 443
Locatie: Iasi
Programator
Digital Void Entertainment
 
    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.8

le: 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. Neutral
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. Neutral

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

 

Pagina 1 din 2 [ 1 | 2 ]


Server time: 06:21:36 22.05.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006 - 2012 Copyright 7thFACTOR Entertainment - All rights reserved