.[ ČeskéHry.cz ].
gmax, jak zjistit typ opakovani textur

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 4. duben 2010, 17:05:01    Předmět: gmax, jak zjistit typ opakovani textur Odpovědět s citátem

Zdarec,

da se nejak v tom maxscriptu dostat jak je nastaveny opakovani textur (unwrap UVW)? Docela hojne to pouzivam a potrebuju aby tak jak si to nastavim v maxu tak aby to vypadalo i v enginu :/. Googlil jsem ale nic jak to dostat do listeneru jsem nenasel.

Diky a sorry za dalsi milion topicu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 4. duben 2010, 22:51:24    Předmět: Odpovědět s citátem

Napadá mě hrubé řešení, které jsem používal u modelů, když jsem se podobným problémem nechtěl zdržovat. Tedy dát to přímo do názvu objektu... Krychle_uvwwrap ... engine to pochopí po svém.

To jen ale v případě, že to nechceš celé obecně, hezky a čistě. Snad někdo poradí méně "prudké" řešení. Smile
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 5. duben 2010, 13:47:39    Předmět: Odpovědět s citátem

micky: no to by byla asi az posledni moznost :/ ale jak googlim tak googlim a nic nenalezam. Asi se mrknu do nejake dokumentace protoze evidentne nikdo takovej problem neresil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 12. duben 2010, 14:49:51    Předmět: Odpovědět s citátem

cus, tak jak jsem to studoval tak to opakovani funguje kdyz se nastavi v glTexParameteri() mod GL_REPEAT pro _S a _T + texturovaci koordinaty jiny nez <0,1> ale nemuzu prijit na to proc se mi to neopakuje. Koordinaty jsou vychyleny a mam pri vytvareni textury nastaveny oba 2 stavy. Nejakej napad? Nekde jsem cetl ze se to da vyresit pres GLSL ale zatim bych chtel nejakou jednodussi cestu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 12. duben 2010, 16:28:04    Předmět: Odpovědět s citátem

no, vyresil jsem to. Tady je reseni co me napadlo jako prvni a docela se to da pouzit.

kód:
            
    if (CurMesh.material.diffuseMap != undefined and classOf CurMesh.material.diffuseMap == BitmapTexture) then
    (
      iTiling_u = CurMesh.material.diffusemap.coords.u_tiling
      iTiling_v = CurMesh.material.diffusemap.coords.v_tiling
    )


Naposledy upravil Játro.m dne 15. květen 2010, 08:24:47, celkově upraveno 2 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 15. květen 2010, 08:23:28    Předmět: Odpovědět s citátem

Zdar, kdyz uz tady mam ten topic o opakovan i textur tak bych mel jeden dotaz. Opakovani textur funguje jenom obcas. Obcas je to natilovany podle nastaveni koordinatu a nekdy ne.

Tady je kousek koordinatu z objektu
kód:

o podlaha_dum2
n 204 94
    v1         v2         v3        u           v
v -978.313 112.941 3.9265 10.6014 10.4024
v -1243.93 112.941 3.92647 10.2972 10.4024
v -978.313 445.694 3.92653 10.6014 10.0213
v -1243.93 445.694 3.9265 10.2972 10.0213

Vidite ze koordinaty co lezou do programu jsou >1; Takze by se teoreticky ta textura mela opakovat ale neopakuje (opakovat se zacala az pote co jsem ty koordinaty nastavil * 10 = +- 100 ale zase v gmaxu je to na po*rani protoze grafik nevidi jak to ma vypadat Wink).

Kod vytvareni opakujici se textury - k tomu opakovani jediny co jsem nasel je ten WRAP_S a WRAP_T
kód:
       case 2:    //DDS texture
                   pTexData = xmLoadDDS(xmFileName);
                   if(!pTexData)
                   {
                         return -1;
                   }     
                   glGenTextures(1, &xmTextureID);
                   glBindTexture(GL_TEXTURE_2D, xmTextureID);
                                     
                   if(pTexData->format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT) pTexData->mipFactor = 8; else pTexData->mipFactor = 16;
                   for(int i = 0; i < pTexData->totalMipMaps; i++)
                      {
                         int xmMipMapSize = ((pTexData->width + 3) / 4) * ((pTexData->height + 3) / 4) * pTexData->mipFactor;
   
                         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
                         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

                         glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, xmMinFilter);
                         glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, xmMaxFilter);
                         
                         glCompressedTexImage2DARB(GL_TEXTURE_2D, i,                       pTexData->format, pTexData->width, pTexData->height, 0, xmMipMapSize, pTexData->texels + xmMipMapOffset);
   
                         pTexData->width  = pTexData->width  >> 1;
                         pTexData->height = pTexData->height >> 1;
               
                         xmMipMapOffset += xmMipMapSize;
                       }
       break;
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna