![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL from scratch
SKT allsunday
这个作者很懒,什么都没留下…
展开
-
3、OpenGL | 自定义着色器shader class(to be continued)
这是学习 着色器shader 的最后阶段:目标:构建一个shader class ,读取硬盘上写好的shaders,并且编译 链接这些shaders程序。步骤:1、在 .h 头文件中,创建shader class,class 结构定义如下:#ifndef SHADER_H#define SHADER_H#include <string>#include <fstream>#include <sstream>#include <GL/glew.h原创 2020-07-14 14:16:03 · 187 阅读 · 0 评论 -
OpenGL中的插值是什么 | interpolation
一般,绘制一个三角形,需要三个顶点,并且要输入rgba值,才能渲染出三角形的色彩。但是,rgba只是给定了3个颜色值(R,G,B)是怎样的,并没有给出一整个颜色板,如果你设RGB为(0,1,0),那么整个三角形都是绿色的。这是fragment shader中 片段插值 的结果,当进入到渲染三角形的 光栅化阶段时,通常会产生很多fragments ,比你初始定义的顶点还多,于是光栅器 就根据这些fragments 在三角形上的相对位置 ,基于这个位置,光栅器就 插值所有 fragment shader原创 2020-07-14 13:08:46 · 587 阅读 · 0 评论 -
2、OpenGL | 着色器Shaders in the Graphics Pipeline
一、GL SL (shading language)是一中类似C的语言,包含了专门针对向量和矩阵操作的有用特性。着色器代码编写,总是以版本声明开始,然后是输入和输出变量的列表,uniform和Main函数。结构如下:#version version_numberin type in_variable_name;in type in_variable_name;out type out_variable_name; uniform type uniform_name;int main()原创 2020-07-13 23:32:54 · 110 阅读 · 0 评论 -
1、OpenGL | 坐标如何转化为有颜色的像素
OpenGL是一个图形接口函数库,他是用来跟GPU驱动打交道的。在OpenGL中,所有的图形都是3D的,所有的2D图形都是从3D转过来的,转化的方法是通过一个叫图形管道的东西,你输入一个3D坐标,就立马给你转换成2D 像素。转换过程分两部:1、3D坐标转2D2、2D坐标转成有颜色的像素这个转换并渲染的过程,要用到一个叫shaders(着色器)的东西,实际上他不是个东西,只是个小程序,你用GL shading language写成的,给GPU去执行的程序罢了。有些shaders是我们可以自主编写原创 2020-07-08 17:20:23 · 587 阅读 · 0 评论