opengl - 着色器语言之间是否存在重大差异?

标签 opengl graphics directx glsl hlsl

我目前正在学习 GLSL。似乎一旦你学会了一种着色器语言,学习其他一种语言就不会太困难了。这是否类似于学习像 wxWidgets 这样的小部件工具集然后切换到 Qt?一旦您了解一个小部件工具集内发生的事情,另一个工具集就会做类似的事情,因为它们最终在某个时候做几乎相同的事情?从一种着色器语言转换到另一种着色器语言有什么经验?

最佳答案

Cg 和 HLSL 几乎相同(相同的内置函数名称)。 GLSL 看起来和感觉有点不同(即 mix 而不是 lerp,使用类似 main 的函数),但整体过渡仍然简单的。唯一的区别在于细节和各自的 API(即矩阵存储顺序之类的东西)。

在着色语言之间切换比在 GUI 工具包之间切换要容易得多......

关于opengl - 着色器语言之间是否存在重大差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120203/

相关文章:

javascript - Html5 Canvas 变换算法 - 应用变换后查找对象坐标

wpf - 具有 D3DImage 共享资源的 DirectX11/DirectX10 多重采样 (MSAA)

c++ - QOpenGLWidget 不在整个小部件中呈现

使用 GL_LINE_STRIP 的 OpenGL 正交草图绘制

c++ - 在 OpenGL 中未规范化的法 vector 有什么行为?

c++ - 非交错顶点缓冲区 DirectX11

c++ - Windows 时间限制应用程序能否在时间到时将游戏退出全屏(DirectX?)模式?

c# - 新位图 - 参数无效

c++ - 三角形中的矩形

java - 单击绘制的对象