问题标签 [cg]
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.
c++ - ModelViewProjection 和 WorldViewProjection 一样吗?
我正在将一些代码从 HSLSL 和 XNA 转换为 CG 和 OpenGL。
该代码用于渲染体积数据。但是体积数据也不是在每个维度上使用相同的距离进行采样的,例如 (0.9f, 1f, 1f)。因此需要应用比例因子。
在 XNA 和 HLSL 示例中,它们执行以下操作:
WorldViewProj 被传递到着色器的位置。
在 OpenGL 中,我的印象是 glstate.matrix.mvp 是 ModelViewProjection,其中 ModelView 是 World * View。显然我错了,因为当我执行以下操作时,没有绘制任何内容。
体积是在 glMatrixMode 设置为 GL_MODELVIEW 的情况下渲染的。我必须创建自己的矩阵吗?如果是这样,有什么好的教程吗?:D
c++ - 将 CG 着色器集成到 GL 和 D3D9 的教程?
我找到了许多关于编写 CG 着色器的教程,但没有一个显示如何将其集成到 D3D 或 GL 场景中。是否有一个教程可以展示 CG 如何集成到这些中?
math - 如何从给定的边缘点构建网格?
我在边缘有一些点(左图),我想构造一个网格(右图),有什么好的算法可以实现吗?非常感谢!
图片可以看这里http://ww3.sinaimg.cn/large/6a2c8e2bjw1dk8jr3t7eaj.jpg
semantics - 使用 OpenGL 3.x 的 CG 着色器语义?
我曾经让 CG 着色器在 OpenGL 2.x 中使用顶点数组,但我已经更新为在 OpenGL 3.x 中使用 VBO 和 VAO,现在语义似乎不起作用,除了 POSITION。CG 不会抛出任何编译错误,但如果我将片段着色器中的输出颜色设置为输入正常值,我只会得到纯黑色。还有另一个答案链接到一个说要使用的页面cgGLEnableClientState
(它本身什么也没做)和cgGLSetParameterPointer
(这似乎很疯狂,因为我已经将数据发送到 OpenGL,为什么要通过 CG 发送另一个副本)。那么我错过了什么?
顶点着色器:
片段着色器:
我发现某个地方将这些列为 的索引glVertexAttribPointer
,但它们很容易出错(这些是VBO 设置函数中的 、 等)Shader::POSITION
:Shader::NORMAL
VBO设置功能如下:
着色器绑定函数如下:
selection - 如何在 Cg 中实现高效的并行 SIMD 比较和选择?
您如何有效地进行并行选择?
例如,给定这个标量代码,有没有办法编写它,以便 Cg 编译器使代码并行/ SIMD 执行(并且可能使用无分支选择)。
memory-leaks - CG 3.0 会泄露吗?
我发现 CG 似乎有内存泄漏。我通过 nvidia.com 提交了一份报告,但如果您在这里尝试:
如果您删除说
泄漏停止。
CG 3.0真的会泄露吗?
使用 ATI Radeon 5850 GPU / Windows 7 64 位。
maya - Photoshop psd 文件在 Maya Cg 着色器中丢失 Alpha 通道
对于我们的一位 3D 艺术家,我已将着色器从 Unity3D 移植并扩展至 Maya。Unity3D 中的着色器使用 PSD 文件作为纹理的输入,并利用其中一个纹理的 Alpha 通道作为高度图。
在 Maya 中,似乎 alpha 通道丢失了,因为它始终为 1。我们使用 PSD 和 PNG 文件对此进行了测试。但是,当使用 TGA 文件时,可以按预期使用高度图,并且着色器可以正常工作。
下面是一些 Cg 代码来说明我的意思:
在上面的代码中,bottomColor.aaaa 在使用 PSD 纹理时始终为 (1.0, 1.0, 1.0, 1.0),但在使用 TGA 纹理时则不是。
注意:将所有纹理转换为 TGA(不幸的是)不是一种选择。
reference - 在哪里可以找到 CG 着色器语言的参考资料?
我是着色器的新手,我想找到所有(或大多数/常见)函数、变量的列表,可用于编写 CG 着色器。
prolog - 在 BProlog 上运行 CG 图形?
我最近安装了 B-prolog 并从这里尝试了 CG 图形示例http://www.probp.com/
根据他们的手册,我已经在 C:/ 驱动器中安装了 B prolog,并且正确编译但没有执行它们。
这是 cuba.pl
每当我尝试运行时,我都会收到此错误?
这里有什么问题?
opengl - 如何创建类似 CgFx 的效果系统?
像 CryEngine3、Unreal Engine 3 这样的 Seriouse 图形引擎都有自己定制的着色器语言和效果系统。在尝试为我的小型图形框架寻找一些效果系统时,看起来 nvidia CgFx 是唯一的选择(似乎 Khronos 有一个名为 glFx 的项目,但项目页面现在是 404)。
我有几个理由制作自己的效果系统:
- 我需要更多地控制如何以及何时传递着色器参数。
- 为了重用着色器片段,我想创建一些类似 c++ 的宏机制。使用宏来做一些条件编译也很有用,CryEngine 用来产生各种效果的方式。
- 貌似GLSL没有这样的效果系统
所以我想知道如何创建效果系统?我是否需要从头开始编写语法解析器,或者已经有一些代码/工具能够做到这一点?
PS:我同时使用 OpenGL 和 GLSL 和 CG。