标签: 3d-rendering

了解OpenGL矩阵

我开始学习3D渲染,我一直在取得很好的进展.我已经了解了很多关于矩阵和可以在它们上执行的一般操作.

我还没有完全关注的一件事是OpenGL使用矩阵.我看到这个(以及类似的东西)相当多:

x y z n
-------
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Run Code Online (Sandbox Code Playgroud)

所以我最好的理解是,它是一个标准化(无量级)的4维列主矩阵.此外,该矩阵特别称为"单位矩阵".

一些问题:

  • 什么是"第n"维度?
  • 这些如何以及何时适用?

我最大的困惑来自于OpenGL如何利用这种数据.

opengl 3d-rendering

19
推荐指数
2
解决办法
8394
查看次数

Sphere World Implementation C++

什么是实现,存储和渲染球形世界的最佳方式,例如孢子或无限的但没有孢子的中间阶段,以及多个世界无限宇宙.不要假设地球本身是如何产生的或其大小/规模.

c++ 3d 3d-rendering data-structures

6
推荐指数
2
解决办法
3012
查看次数

图像识别和3d渲染

拍摄一个物体的图像(在这种情况下是预定义的物体)并开发一种算法来从具有不同复杂度的背景的照片中剪切该物体有多难.

除此之外,照片的对象(比如房子,汽车,狗 - 但总是一种类型)需要转换为3d渲染.我知道有三个渲染引擎可供选择(有成本,免费或有一些条款),但为了实现这一点,对象(主题)需要以各种方式进行测量 - 例如,如果这是一个人,我们需要测量高度,肩部曲率,面部半径,每个手指的长度等.

解决这个问题的可行性是什么?有人知道这个研究领域有什么特别好的联系吗?我已经看到了这个问题的开源解决方案,这让我遇到了一个问题,即在对象周围进行测量时可以轻松地测量对象.

谢谢


基本上我想拍摄2d图像(典型图像:比包含多个对象的复杂照片更容易等)

http://benmartin3d.com/WIP/Project1/image1small.jpg ,

但实际上我想把它变成一个3d图像,所以我想做的不是建立一个3d渲染/建模引擎吗?

此外,我提供的链接进入3ds max,设置了一些属性,并进行渲染.

algorithm image-recognition 3d-rendering

5
推荐指数
1
解决办法
1185
查看次数

开始在three.js中行进多维数据集

我是Three.js的新手,正在寻找一个教程,让我开始学习如何在three.js中使用Marching Cubes.到目前为止我在three.js中看到的一些使用它的项目对我来说有点复杂,所以一个简单的教程会很好.

谢谢.

javascript 3d-rendering webgl three.js

3
推荐指数
1
解决办法
5311
查看次数

在three.js中渲染多边形

如何在three.js中渲染n边多边形.它没有几何形状.我需要它能够渲染凸多边形和凹多边形.所以也许在某个地方有一个补丁或解决方法. 用法: 输入将是n个顶点,这将形成n边多边形.但是,所有顶点将位于同一平面上,输出应为渲染多边形.

javascript 3d-rendering three.js

2
推荐指数
1
解决办法
5964
查看次数

在另一个网格上显示网格 | 删除重叠 | 渲染顺序 | 三.js

我有 2 个对象网格。它们都有一些共同点,但并不完全。

我通过将它们添加到屏幕来显示它们..就像一个网格叠加在另一个网格上一样。但下部网格与顶部网格重叠但我想要实现的是下部网格应始终保持在下方而不重叠并为整个顶部网格提供空间。

我经历了这个小提琴..摆弄渲染顺序

我尝试了一些类似的东西..

var objLoader1 = new OBJLoader2();
objLoader1.load('assets/object1.obj', (root) => {
           root.renderOrder = 0;
           scene.add(root);
       });
var objLoader2 = new OBJLoader2();
objLoader2.load('assets/object2.obj', (root) => {
           root.renderOrder = 1;
           scene.add(root);
      });
Run Code Online (Sandbox Code Playgroud)

但我不知道出于什么原因重叠仍然存在..

我试过...

var objLoader1 = new OBJLoader2();
objLoader1.load('assets/object1.obj', (root) => {
           objLoader1.renderOrder = 0;
           scene.add(root);
       });
var objLoader2 = new OBJLoader2();
objLoader2.load('assets/object2.obj', (root) => {
           objLoader2.renderOrder = 1;
           scene.add(root);
      });
Run Code Online (Sandbox Code Playgroud)

然后我尝试通过这个小提琴..另一个小提琴 但是当我运行时我只得到下部或上部网格。但我想看到两者没有任何重叠..

 var layer1 = new Layer(camera);
 composer.addPass(layer1.renderPass);
 layer1.scene.add(new THREE.AmbientLight(0xFFFFFF));
 var objLoader1 = new …
Run Code Online (Sandbox Code Playgroud)

render 3d-rendering overlapping three.js

2
推荐指数
1
解决办法
2677
查看次数