将矩阵应用于sphere / Object3D

时间:2015-02-22 16:28:15

标签: java opengl-es three.js rajawali

我有一个360°全景图片(纹理),我在一个球体周围进行映射,然后将我的相机放在球体内部以进行球形投影。现在纹理投射在球体的外部。 我想'从内到外翻转纹理',我读到它可以通过应用矩阵来完成。

我想在Rajawali / OpenGL中将矩阵应用于球体(Object3D)。

这可以在ThreeJS中完成,如下所示:

var sphere = new THREE.SphereGeometry(100, 100, 40);
sphere.applyMatrix(new THREE.Matrix4().makeScale(-1, 1, 1));

applyMatrix的three.js文档:

  

用矩阵更新位置,旋转和缩放。

我想在Rajawali这样做:

mSphere = new Sphere(100, 100, 40);
//Apply the matrix here

可以在此处找到Matrix / Object3D的文档 Matrix4 Object3D

或者还有其他办法可以吗?

2 个答案:

答案 0 :(得分:1)

这已经修好了!

mSphere = new Sphere(100, 100, 40);
mSphere.setScaleX(-1);
mSphere.setScaleY(1);
mSphere.setScaleZ(1);

答案 1 :(得分:0)

对于 material.side 来说真的不是一件好事吗?

引用来自材质的three.js文档:

  

.side

     

定义将要渲染哪个正面 - 正面,背面或两者。   默认为THREE.FrontSide。其他选项包括THREE.BackSide和THREE.DoubleSide。

所以从内部看球体表面应该使用 THREE.BackSide