
计算机图形学OpenGL
文章平均质量分 83
刘敬_
时光不待人
展开
-
OpenGL 光源分类 行为理论及实现
上篇博客中,实现的镜面反射光,漫反射光探讨的都是简单点光源(不包括衰减),但是并没有考虑到点光源的衰减,接下来将光分为三类,并根据物理抽象出数学模型进行较为真实的光照计算。共性对于每一种光源都有漫射光和平行光的两种成分,漫射光是指在光源中能够被漫反射的光的颜色成分(白色则包括所有颜色),一般分为两种,平行光和点光源。环境光不是光线,但是需要存储,最简单的方法,就是为每个光源设置一个环境等级,然后把它们都放到一个单一项中。平行光是指光源中所有能够被镜面反射的光的颜色成分。设计光照系统其中。..........原创 2022-08-06 20:57:44 · 404 阅读 · 0 评论 -
OpenGL 摄像机 及阶段性复习
本文将从OpenGL生产流程角度,整理learnOpenGL的应用纹理程序和摄像机的步骤。也对OpenGL近期所学做了一下整理。OpenGL加工流程可分为三部分Asset区。组件生产线。组件装配。Asset组件封装组件装配组件生成模型轮廓。............原创 2022-07-18 13:54:51 · 611 阅读 · 0 评论 -
VAO详解
(一)VAO详解顶点数组对象是一种OpenGL对象,它存储提供顶点数据所需的所有状态。VAO仅引用缓冲区。作为OpenGL对象,VAO具有通常的创建,销毁和绑定功能:glVertexArrays,glDeleteVertexArrays和glBindVertexArray(VAO只有一个目标)。...原创 2022-07-08 15:38:06 · 3042 阅读 · 0 评论 -
OpenGL处理错误的方式
这一节主要讲 glGetError,它几乎在每一个 OpenGL 的版本中都有,所以在OpenGL的错误处理上比较常用。原创 2022-07-07 23:24:27 · 2240 阅读 · 0 评论 -
顶点缓冲区与着色器 (The Cherno + LeranOpenGL)笔记
1.图形渲染管线主要被划分成两个主要部分,第一部分是把物体的3D坐标转换成为2D坐标,第二部分是把2D坐标转变为有实际颜色的像素。一般步骤为:顶点着色器->图元装配->几何着色器->光栅化->片段着色器->Alpha测试与混合。2.图形渲染管线高度专门化,所以大多数显卡可以并行执行,而在GPU上为每一个渲染管线阶段运行各自的小程序,这些小程序的名字就叫做着色器。而且着色器还可以用自己写的着色器(GLSL)代替默认的。 1.顶点缓冲区的概念与辨析 :基本就是去掉vertex,它只是一个内存缓冲区,一个内存字节原创 2022-07-02 22:50:08 · 1328 阅读 · 0 评论 -
OpenGL新建一个窗口
新建窗口 判断:glfw是否初始化初始化提示(对openGL使用进行说明)初始化窗口 判断:是否生成了窗口渲染循环 主要完成 清除当前缓冲,渲染绘制,交换前后缓冲区,处理回调事件...原创 2022-06-29 22:48:38 · 174 阅读 · 0 评论 -
A-2 绘制直线Brensenham算法证明与实现
简介:Bresenhan算法将坐标系分割成棋盘形状,每个像素占有一个棋格,当我们进行采样时(直线斜率小于1),如下图所示,假设给定绘图的起始点为(10,11),那么绘制下一个采样点的坐标必然是从(11,11)和(11,12)中选择一个。如果把这种情况一般化,对于绘制直线的起始点是(Xk,Yk),那么其下一个采样点必然是(Xk+1,Yk)或者(Xk+1,Yk+1)中的一个。作用:消灭浮点数。因为浮点数是不准确的。不多解释,算法并不复杂。证明:(1)思路几个关键点:这是一些定..原创 2022-04-12 00:44:00 · 408 阅读 · 0 评论 -
A2-1 利用stb_image.h来进行图片的绘制与显示
目录(一)读取图片(二)绘制图片TIP1:Debug:(三)stb_image.h库下载与使用使用教程:TIP2:gittee源代码 如有问题请就指出,谢谢!stb_image 是一个简单易用的图像解码库。这里我们采用图形库stb_image.h来读取图片。思路:(1)从计算机通过stb_image库函数读入一张图片,并将信息封装在Image类中。(2)将读入的图片绘制在画布...原创 2022-04-23 12:00:52 · 2297 阅读 · 2 评论 -
计算机图形学L1--1光栅化及其实现---实现点的绘制及雪花
(一)Windows窗体创建及分析1.创建一个窗体的框架。主要流程为1.注册一个窗体 2.生成一个窗体并显示 3.捕捉消息,分发到端口 4.在wndProc里处理信息。描述:窗体程序的运行像一个函数不断的接收信息,然后并不断的处理捕捉信息,然后把信息分发到WndProc中处理和修改!2.了解界面,读懂框架:1)MyRegisterClass:注册一个窗体的类型,包括窗体的大小风格MyRegisterClass是一个窗体类型,ATOM:MyRegisterClass通过函数..原创 2022-04-01 20:04:59 · 616 阅读 · 0 评论