问题标签 [volume-rendering]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
three.js - 从简单的射线投射转换为 X 射线渲染
我指的是Lebarba的体积渲染代码。我想做的是 X 射线渲染而不是射线投射。
这是使用代码进行 Ray 投射的结果
光线投射
X 射线模式
我不确定我在做什么是对还是错,因为我是这个领域的新手。如果有人可以指出错误(如果有),那将是非常有帮助的。
javascript - 如何使用 Papaya 在 JavaScript 中使用多个 DICOM 文件创建表面文件?
我正在尝试使用其中一个开源项目进行体积渲染。我想从我的 DICOM 图像创建一个表面文件。我知道这可以通过使用 mango viewer exe 来实现;但我想用javascript来做。请帮我。
matlab - Matlab中3D图像梯度的体积重建
对于 2D 图像,Gx 和 Gy 分别给出了垂直和水平边缘信息。梯度方向向量的角度可以通过tan(Gy/Gx)的倒数计算,边缘方向将垂直于梯度方向向量。
我有 3D Z 堆叠图像数据集,因此每个像素都将由 (x,y,z) 坐标和相应的强度值表示。我已使用3D 图像渐变链接作为初始参考。
(1) 如果我想仅使用 3D 图像梯度大小和方向信息导出整个体积/线框模型怎么办?
(2) 我是否需要单独的 X、Y 和 Z 堆叠图像数据才能从中生成整个体积/线框模型?
在 matlab 中,我还可以使用isosurface 命令仅使用 2D z 堆叠蒙版开发整个体积。在这里,我正在探索生成线框体积/3D 模型的其他可能性。
感谢你在期待。
opengl - 何时在体数据中应用 phong 着色?
我有一个可以渲染的体积数据集(这是作业的一部分)我已经使用从前到后的合成实现了光线投射,我想集成 phong-shading。为了计算梯度,我使用前向差分法。
我知道我可以用前向差分法估计体素纹理坐标的梯度。
我的问题是,由于 phong-shading 返回一种颜色,而从前到后的光线投射也返回一种颜色,我什么时候将阴影应用于光线函数的颜色?在我为特定光线完成新颜色之后,或者在计算光线命中的颜色时?也许这段代码有助于理解我的问题。我已经添加了关于我认为应该在哪里实现 phong 着色的评论。
matlab - 如何可视化 3D 体积?
我曾在 Matlab 中尝试过以下演示代码。我正在使用 Matlab 2018b
但我得到一个黑屏。imshow() 工作正常。它与opengl有关吗?我试过opengl软件和opengl硬件
这是matlab 2018b中的错误吗?还是和我的系统配置有关
opengl - OpenGL如何从平截头体对齐向量计算世界空间坐标?
我是一名图形编程初学者,在自己的引擎上工作,并尝试实现平截头体对齐的体积渲染。
这个想法是将多个平面渲染为横跨视锥的垂直切片,然后将这些平面的世界坐标用于程序体积。
将切片渲染为 3d 模型并使用顶点位置作为世界空间坐标可以正常工作:
结果:
然而,在截锥空间中渲染切片并尝试对世界空间坐标进行逆向工程并没有给出预期的结果。我得到的最接近的是:
结果:
我的猜测是,标准投影矩阵以某种方式摆脱了一些关键的深度信息,但除此之外,我不知道我做错了什么以及如何解决它。
opengl - GPU 射线投射(单程),在球坐标中具有 3d 纹理
我正在实现一种体积渲染算法“GPU 光线投射单通道”。为此,我使用了强度值的浮点数组作为 3d 纹理(这个 3d 纹理描述了球坐标中的常规 3d 网格)。
这里有数组值的例子:
(这里完整的数据:[链接](https://drive.google.com/file/d/1lbXzRucUseF-ITzFgxqeLTd0WglJJOoz/view?usp=sharing))
球形网格的尺寸为 (r,theta,phi)=(384,15,768),这是加载纹理的输入格式:
这是我的可视化图像:
问题是可视化应该是一个磁盘,或者至少是一个类似的形式。
我认为问题是我没有正确指定纹理的坐标(在球坐标中)。
这是顶点着色器代码:
这是片段着色器代码:
我如何指定坐标,以便将 3d 纹理中的信息以球形坐标可视化?
更新:
顶点着色器:
和片段着色器:
这些是生成边界立方体的点:
这是它生成的可视化:
c# - 如何使用 Helix.SharpDX 体积渲染可视化 3D 标量场?
我的任务是使用 Helix Toolkit 可视化 3D 标量场。输入数组包含没有限制的双精度值,但通常介于 [-50000, +50000] 之间。标量值影响立方体的颜色:最小值为蓝色,0 - 白色,最大值 - 红色。所有其他颜色值都对应于该值进行插值。
现在我正在尝试了解颜色传输图在 HelixToolkit.Wpf.SharpDX 中的工作原理。为此,我创建了一个简单的 2x2x1 标量字段。
主窗口.xaml
MainWindowViewModel.cs
我期待有 4 个不同颜色的不同立方体,例如(由于插值和采样,立方体之间可能有渐变):
但我不断得到这种奇怪的三角形混色:
颜色转移图阵列究竟是如何工作的?如何使用 HelixToolkit.SharpDX 的体积渲染来获得所需的立方体效果?