
GLSL
OpenGL Shading Language
张明奇-琦玉
乐观,自信,阳光,相信明天会更好
展开
-
GLSL传递数组
static const char *microshaderFragSource = { "varying vec4 color;\n" "uniform bool test1=true;\n" "uniform float test2=15.0;\n" "uniform float gauss_num[10];\n" "void main(void)\n" "{\n" " if(test1)\n" " gl_FragCo.原创 2020-05-27 15:45:36 · 2132 阅读 · 0 评论 -
OSG 砖块 shader 例子 GLSL
按键 x y z 可以调节灯光位置 #include <osgViewer/Viewer> #include <osgDB/ReadFile> #include <osg/Shape> #include <osg/Shapedrawable> #include <osg/MatrixTransform> static char ...原创 2020-01-28 10:28:52 · 778 阅读 · 0 评论 -
GLSL-Compute Shader
概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊人的器件。过去,这种处理器主要被设计用于承担实时图形渲染中海量的数学运算。然而,其潜在的计算能力也可用于处理与图形无关的任务,特别是当无法很好地与固定功能的图形管线结合的时候。为了使得这种应用成为可能,OpenG引入一种特殊的着色器:计算着色器。计算着色器可以认为是一个只有一级的管线,没有固定的输入和输出,所有默认的输入通过一组内置变量来传递。当需要额外的输入时,可以通过那些固定的输入输出来控制对纹理和缓冲的访问。所有可见的副作用是原创 2020-05-22 15:20:05 · 2141 阅读 · 0 评论 -
OpenGL Shader笔记
OpenGL执行模型可以被描述为客户-服务器。应用程序(客户)发出OpenGL命令,然后由一个OpenGL实现(服务器)解释和处理这些命令。应用程序和OpenGL实现可以在一台单独的计算机或者两台不同的计算机上执行。一些OpenGL状态被存储在应用程序的地址空间中(客户状态),但它的主要部分是存储在OpenGL实现的地址空间中(服务器状态)。 OpenGL命令总是按服务器接收它们的顺序来处理,不...原创 2020-02-12 21:35:35 · 603 阅读 · 0 评论