cg

支持现代硬件中的 Cg 配置文件

我有一个使用现已弃用的 nvidia scenix 和 Cg 着色器的内部应用程序。它工作正常,而且由于它是内部的,我们可以选择在什么硬件上运行它。 着色器当前使用 vp40/fp40 配置文件(尽管我可以将其更改为使用更高版本的配置文件,如 GLSLV/GLSLF)。我试图确认当前的 nvidia 硬件仍然支持 Cg 着色器?即,如果我们购买最新的 OpenGL4 geforce 或 quad... »

为什么 CG 着色器不能与 GL 3.2 一起使用?

我已尽一切努力让 OpenGL 3.2 在我的游戏引擎中使用 CG 着色器进行渲染,但我没有运气。所以我决定做一个简单的最小项目,但着色器仍然无法工作。理论上,我的测试项目应该只渲染一个红色三角形,但它是白色的,因为着色器没有做任何事情。 我会把代码贴在这里: #include <stdio.h> #include <stdlib.h> #include <vec... »

使用 Cg 渲染到屏幕外帧缓冲区对象的示例

我想看一个使用 nVidia Cg 渲染到屏幕外帧缓冲区对象的示例。 我有权使用的计算机有显卡但没有显示器(或 X 服务器)。所以我想渲染我的东西并将它们作为图像输出到磁盘上。显卡是GTX285。 ... »

c++

SkyBox 纹理未显示(NVIDIA CG)

这是我的 Box.cpp 代码: using namespace std; #include <stdio.h> #include "Box.h" void MyErrorCallback(void) { const char* errorString = cgGetErrorString(cgGetError()); printf("Cg error: %s", erro... »

c++

3D 模型渲染和着色器 [关闭]

我有一个 3D 模型,在渲染时我使用着色器根据一些参数计算顶点颜色(计算密集型任务)。这些参数随时间变化。所以基本上我需要根据当前参数计算顶点颜色,并将其与之前渲染的顶点颜色相加。 我将处理具有 5-1000 万个顶点的模型。有人可以帮我解决这个问题吗? 对不起,不清楚的问题。 我面临的问题是如何备份从着色器计算的先前顶点颜色。 我不能使用混合,因为对象可以旋转。所以基本上我需要一种机制来保存从... »

在 Xcode 中静态链接 Nvidia 的 Cg 框架

100 亿赞誉给任何能解决这个问题的人。 Nvidia 只为 Cg 提供了一个标准框架,我不知道如何静态链接。我需要静态链接它,因为它是一个插件。 有什么办法可以做到吗? ... »

c++

OpenGL中的多个渲染目标与Cg

我正在尝试(徒劳地)使用 OpenGL 和 NVIDIA 的 Cg 着色器系统设置 MRT,最终目标是延迟渲染。我已经成功地让单个目标的着色器和渲染到纹理工作,但是一旦我尝试将一个对象渲染到多个渲染目标,它就无法显示在其中任何一个目标中。 我正在通过以下方式设置帧缓冲区对象: // Initialize textures // (I'll spare you the code since I'... »

切换到 glVertexPointer 后未应用 Cg 着色器

我的渲染器曾经使用 glBegin/glEnd 使用旧的固定函数来渲染几何图形。通过 glVertexPointer 等将其切换为使用顶点数组后。 al.,我的 Cg 着色器停止显示。如果我只是做一个常规的纹理绑定,它工作正常,所以数组数据是可靠的。此外,如果我使用旧的 glBegin/glEnd 系统,Cg 着色器工作正常。是否有一些我缺少特定于顶点缓冲区的注意事项? ... »

c++

OpenGL Cg 几何着色器

尝试使用 OpenGL 初始化几何着色器时出现编译器错误。我正在使用 VS2013。 这是我在 OpenGL 上初始化它的方法 myCgContext = cgCreateContext(); cgGLSetDebugMode(CG_FALSE); cgSetParameterSettingMode(myCgContext, CG_DEFERRED_PARAMETER_SETTING); C... »

Cg 和 OpenGL 3

我目前正在学习 OpenGL 2 和 3 之间的区别,我注意到许多函数如 glVertex、glVertexPointer、glColor、glColorPointer 等都消失了。 我习惯于使用 Cg 来处理着色器。例如我会写这个简单的顶点着色器: void main(in inPos : POSITION, out outPos : POSITION) { outPos = inP... »

如何在 Cg 中实现高效的并行 SIMD 比较和选择?

如何有效地进行并行选择? 例如,给定这个标量代码,有没有办法编写它,以便 Cg 编译器使代码并行/SIMD 执行(也可能使用无分支选择)。 Out.x = ( A.x <= threshold) ? B.x : C.x ; Out.y = ( A.y <= threshold) ? B.y : C.y ; Ou... »

在 CG 和 openGL 中使用统一的 1D 纹理参数时出错

我正在尝试编写一个基本的体积渲染器,它使用 opengl 和 cg 来编写着色器。我将我的传递函数放在一维纹理中,并在片段着色器的相关纹理查找中使用它。我的问题是当我尝试启用与该 1D 纹理对应的参数时遇到 openGL 错误。 我的代码很乱;现在它基本上是从“Real-Time Volume Rendering”和“The CG User's Manual”中提取的代码的混搭。 c 文件: ... »

c

用于视网膜显示的 CoreGraphics

我正在使用以下代码对我加载的图像执行一些操作,但我发现当它在视网膜显示器上时显示变得模糊 - (UIImage*)createImageSection:(UIImage*)image section:(CGRect)section { float originalWidth = image.size.width ; float originalHeight = image.size.heigh... »

相对于法线的顶点位置

在表面着色器中,给定世界的上轴(以及其他轴)、世界空间位置和世界空间中的法线,我们如何将世界空间位置旋转到正常吗? 即给定一个上向量和一个非正交的目标上向量,我们如何通过旋转它的上向量来变换位置? 我需要这个,所以我可以获得仅受对象旋转矩阵影响的顶点位置,而我没有可以访问。 这是我想要做的图形可视化: 向上是世界向上向量 目标是世界空间法线 位置是任意的 该图是二维的,但我需要为 3D... »

Alpha 通道在顶点着色器上无法正常工作

我似乎对它的绘图顺序或类似的东西有一些问题。 我使用顶点颜色。 如果我再次将底部顶点的 alpha 设置为 1,我仍然会在柱子的顶部遇到绘制问题。 如果我将队列设置为不透明,它会正确呈现,但是 alpha 会呈现为白色(预计不透明队列中没有透明度) Shader "Custom/VertexColors2" { Properties { _Color ("Colo... »

均匀数组 CG 着色器中的非常量索引

根据this nVidia CG tutorial(和我自己的经验),在 CG 着色器中使用非常量索引访问统一数组要么效率低下,要么不受支持(通常情况下,似乎不受支持)。 我的问题是;我该如何规避这个问题? 我目前正在编写一个 GPU 蒙皮着色器,我在其中传递了一组骨骼(4x4 矩阵),我需要使用存储在顶点属性中的索引来访问这些骨骼(具体来说,它的组件被转换为整数的 float4 向量) .显... »

运动模糊方向识别 DirectX

我将速度信息存储在纹理中。由于纹理只能具有 {0, 1} 范围内的颜色值,我应该如何确定速度的方向? 一种解决方案是创建另一个纹理,它只存储速度的方向信息,但这将非常昂贵。 有什么想法吗?... »

轮廓轮廓着色器

我知道这是一个有据可查的主题,但我仍然有一些问题。我为轮廓制作了轮廓,但将网格加倍。我的 fps 不错,但轮廓太刺眼,我希望它逐渐淡出。结果如下: 这是一个两遍着色器,一个用于以粉红色渲染人,另一个用于渲染具有纹理的人。 我正在考虑在轮廓上应用高斯模糊,但我没有任何结果......有什么想法吗?提前致谢。 ... »