我正在使用Collada在Three.js r65中加载我的3D对象。在加载回调时,我使用下面的代码对模型的所有部分立即应用纹理。
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load('obj/cdg/Grenada-test1.dae', function(collada) {
var texture = new THREE.ImageUtils.loadTexture("../models/textures/Gr1 08869 B
我使用Three.js (r73)编写了一个应用程序,允许用户使用ColladaLoader加载多个.dae文件。
如果用户选择足够数量的对象,则纹理将不会显示任何objects...at --这一点我得到如下结果:
WebGLRenderer: trying to use 26 texture units while this GPU supports only 16
错误信息似乎相当自我解释-这是否意味着我只能加载16个纹理在任何时候?有办法绕道吗?我可以用一半的物体来渲染我的场景--清除纹理单元,然后再渲染另一半吗?
对Three.js来说很新鲜--如果这是个愚蠢的问题,我很抱歉。
我有一组地形纹理的瓦片。它们都是一样大小的。它当前将整个图像映射到纹理。如何将纹理映射到图像的一部分,而不是整个图像?我知道变通方法,但我想知道Three.js是否有内置的方法。
var image = new Image();
image.onload = function () {
texture.needsUpdate = true;
};
image.src = path;
var texture = new THREE.Texture(image, new THREE.UVMapping(), THREE.ClampToEdgeWrapping, THREE.ClampToE
我正在使用托管在node.js上的three.js。我将它与一个可以生成opengl纹理作为输出帧的相机一起使用。我想在three.js中使用这个实时的纹理流。我已经能够在相机和three.js之间创建共享上下文,并且我可以确认在相机上下文和three.js上下文中都存在纹理。我不太确定如何让three.js尊重外部维护的纹理。现有的videotexture对象不是正确的方式,它从浏览器dom对象复制帧数据,我想直接使用相机生成的纹理。
由于这类似于threejs的render- to -texture支持,只是渲染发生在threejs之外,所以我尝试修改该代码以支持外部纹理,但这看起来有点繁
THREE.js和我在这里遇到了一个简单而棘手的问题,我需要帮助。
我注意到,当我链接一个传递URL的three.js 3D对象时,一切看起来都很好。但当我经过一条相对路径时,只会出现黑色的窗口。工作守则如下:
var jsLoader = new THREE.JSONLoader();
jsLoader.load('http://codepen.io/nickpettit/pen/nqyaK.js', function(geometry) {
var material = new THREE.MeshPhongMater
我一直在玩GPUComputationRenderer的一个修改版本的,它修改了相互作用的机器人速度使用GPU着色器持有,读取和操作boid的位置和速度数据。
我已经到了一个阶段,我可以把GPU计算的数据(预测的碰撞时间)到纹理缓冲区使用着色器。但是现在我想在主要的javascript动画脚本中阅读一些纹理数据(以找到最早的冲突)。
以下是呈现函数中的相关代码(在每次动画传递时都会调用)
//... GPU calculations as per original THREE.js example
gpuCompute.compute(); //... gpuCompute is the
我试图使用three.js为我的网格加载纹理,但不是加载纹理,而是获得普通的黑色对象。我这样做是因为它是在three.js文档( -示例),也尝试了不同的解决方案,但没有工作。这是代码
//Creating The Sun model
const sunGeometry = new THREE.SphereGeometry(16, 30, 30);
const texture = new THREE.TextureLoader().load('assets/images/sun.jpg');
const sunMaterial = new THREE.MeshBasicMate
我使用three.js来用参数函数生成曲线形状。在three.js javascript文件中,THREE.ParametricGeometry函数反复将2D向量推入faceVertexUvs变量。这有什么意义,faceVertexUvs数组是做什么的?
var a, b, c, d;
var uva, uvb, uvc, uvd;
var uvs = this.faceVertexUvs[ 0 ];
for ( i = 0; i < stacks; i ++ ) {
for ( j = 0; j < slices; j ++ ) {