Panda3D/Manual/Cube Maps: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Sem resumo de edição
Linha 1:
Existe mais um tipo especial te mapa de textura: o cube map, que é introduzido no Panda3D versão 1.1. O cube map é similar á uma [http://www.panda3d.org/wiki/index.php/3-D_Textures textura 3D], ja que precisa de coordenadas 3d de textura ( u, v, w ); também, o cube map é armazenado no disco como uma sequencia de imagens 2D comuns.
 
Mas ao contrario de uma textura 3D, que é definida empilhando um numero arbitrario de imagens 2D como panquecas para preencher um volume, o cube map sempre é definido com exatas imagens 2D, que são unidas para fazer um cubo.
 
 
As seis imagens de um cube map são numeradas de 0 á 5, e cada imagem correspondem a uma face particular do cubo:
Linha 12 ⟶ 11:
image 5 The -w (or -z) face (down)
 
ByPor +x face, wenos meanqueremos thedizer faceque ofa theface cubedo farthestcubo alongmais thelonginqua positivena Xaxial axisX. InNo Panda3D'ssistema defaultde coordenada padrao Z-up coordinatedo systempanda, thisessa isé the righta face correta. SimilarlySimiralmente, thea face -x faceé is thea face farthestmais alonglonginqua thena negativeaxial X axisnegativa, orou the lefta face esquerda, ande soassim onvai forpara theas faces Y ande Z faces. SinceJa theque coordinatesas ofcoordenadas ado texturemapa mapde aretextura calledsão chamadas (u, v, w) insteadao ofinves de (x, y, z), ité ismais technicallytecnicamente morecorreto correctchama-las tode call these thefaces +u ande -u faces, thoughmas ité ismais oftenfacil easierpensar tonelas think of them ascomo +x ande -x.
 
TheAs faces aresão laiddispostas outde accordingacordo tocom theo followingseguinte diagramdiagrama:
 
[[Ficheiro:Exploded_cube_map.png]]
 
Imagine thatque youvoce cutcortou outo thediagrama aboveabaixo diagrame andmontou foldedem itum intocubo. a cube.Voce You'dficaria endcom upalgo withmais somethingou likemenos thisassim:
 
[[Ficheiro:Mapped_cube_map_solid.png]]
 
Note que, quando voce segura um cubo de forma que a axial e cada face esteja na direção apropriada ( como na ilustraçao acima ), varias das faces estao de cabeça par abaixo ou de lado. Isso se deve a forma como os fabricantes de placa de video decidiram projetas as faces do mapa cubico ( e tambem, devido ao sistema padrao de coordenada do Padna3d ). Mas de fato, não importa de que modo as faces estas orientadas, contanto que voce sempre gere o seu mapa cubico da mesma forma.
Note that, when you hold the cube so that the axis indications for each face are in the appropriate direction (as in the picture above), several of the faces are upside-down or sideways. That's because of the way the graphics card manufacturers decided to lay out the cube map faces (and also because of Panda3D's default coordinate system). But in fact, it doesn't matter which way the faces are oriented, as long as you always generate your cube map images the same way.
 
InDe somecerta senseforma, ao cubemapa mapcubico isé aum tipo kindde oftextura surfacede texturesuperficie, likecomo anuma ordinarytextura 2-Dd textureordinario. ButMas inem otheroutro sensesentido, itele isé alsotambem volumetricvolumetrico, likecomo auma 3-Dtextura texture3d: everycada pointponto withindentro theda 3-Dcoordenada texture3d coordinateda spacetextura isé coloredcolorida accordingpara to thea face of thedo cube it comesmais closestproxima todela. AUm spheremodelo modelde withesfera thecom cubeo mapmapa appliedcubico toaplicado it woulda pickele upescolheria theas samemesmas six6 faces:
 
[[Ficheiro:Mapped_cube_map.png]]
 
Note thatque, whileenquanto auma 3-Dtextura texture3D assignsassinala a differentum pixel indiferente thena texturetextura topara everycada pointponto withindentro ado volume, ao cubemapa mapcubico assignsassinala a differentum pixel indiferente thena texturetextura topara everycada directiondireção froma thepartir centerdo centro.
 
YouVoce canpode loadcarregar aum cubemapa mapcubico fromde auma seriesserie ofde sixseis imagearquivos filesde imagem, verymuito similar toá theforma waycomo youvoce loadcarrega auma textura 3-D texture:
 
tex = loader.loadCubeMap('cubemap_#.png')
 
AsComo withna atextura 3-D texture3D, thea hashmarca mark ("#") inno thenome filenamedo willarquivo beserá filledpreenchiad incom withum thenumero imagede sequencesequencia numberde imagme, whichque inno thecaso casedo ofmapa acubico cubesera mapum willdigito be a digit fromde 0 toa 5. TheO aboveexemplo exampleacima, thenentao, willcarregara loadum thetotal sixde imagesseis imagens "cubemap_0.png", "cubemap_1.png", "cubemap_2.png", "cubemap_3.png", "cubemap_4.png", ande "cubemap_5.png", ande assembleas themunira intoem oneum cubemapa mapcubico.