Estou tentando desenhar um objeto 3D simples gerado pelo Google SketchUp 8 Pro no meu aplicativo WebGL, o modelo é um cilindro simples.
Abri o arquivo exportado e copiei as posições dos vértices, índices, normais e coordenadas de textura em um arquivo .json para poder usá-lo em javascript. Tudo parece funcionar bem, exceto pelas coordenadas de textura que possuem alguns valores bastante grandes, como 46.331676 e também valores negativos. Agora não sei se estou errado, mas as coordenadas de textura 2D não deveriam estar apenas entre 0,0 e 1,0?
Bem, desenhar o modelo usando essas coordenadas de textura me dá uma aparência totalmente estranha, e eu só consigo ver a textura adequadamente quando estou muito perto (não realmente de mim, a câmera) do modelo, como se a textura tivesse sido insanamente reduzido em tamanho e repetido infinitamente nas faces do modelo. (sim, estou usando GL_REPEAT nessa coisa de quebra de textura)
O que notei é que, se eu obtiver todas essas coordenadas e dividi-las por 10 ou 100, obterá uma aparência muito "normal", mas ainda não no intervalo de 0,0 a 1,0.
Aqui está o meu arquivo json: http://pastebin.com/Aa4wvGvv
Aqui estão meus shaders GLSL: http://pastebin.com/DR4K37T9
E aqui está o arquivo .X exportado pelo SketchUp: http://pastebin.com/hmYAJZWE
Eu também tentei desenhar esse modelo usando XNA, mas ainda não está funcionando. Usando este sombreadores HLSL: http://pastebin.com/RBgVFq08
Tentei exportar o mesmo modelo para diferentes formatos, collada, fbx e x. Tudo isso produz a mesma coisa.