图形学原理
watl0
1140454645@qq.com
展开
-
Unity shader 常用函数
saturate(x)的作用是如果x取值小于0,则返回值为0。如果x取值大于1,则返回值为1.fmod(x, y): 返回 x / y 的小数部分. 如: x = i * y + f。lerp(a,b,w) 根据w返回a到b之间的插值.frac(x): 返回x的小数部分.原创 2023-02-08 18:04:45 · 346 阅读 · 0 评论 -
unity set pass call都干了些什么
一个材质球引用的shader可以有多个pass,因此携带这个材质球的物体会被渲染多次,"激活"一一个pass的过程就是set pass call。因此改变影响 pass的行为都会触发一次set pass call(比如游戏运行中开启阴影进而影响了渲染管线),因此把set pass call 作为影响drawcall的一个标准。链接:https://www.zhihu.com/question/299878086/answer/534969185。商业转载请联系作者获得授权,非商业转载请注明出处。转载 2023-02-03 10:49:52 · 546 阅读 · 0 评论 -
纹理
纹理https://www.icourse163.org/learn/HUST-1003636001?tid=1457257442#/learn/content?type=detail&id=1232561404第九章 第十章 第十一章https://www.xuetangx.com/learn/UCBERKELEYX08091000166/UCBERKELEYX08091000166/4230980/video/6270084纹理映射的主要思想:建立物体空间表面与纹..原创 2020-12-12 19:58:50 · 330 阅读 · 0 评论 -
Direct X 12 3D的初始化
D3D的初始化CPU与GPU间的同步围栏用ID3DFence接口表示视图==描述符 描述内存的数据类型等信息在使用深度缓冲区之前,先创建相关的深度视图并把它绑定在渲染流水线上。创建渲染目标视图同理。frames per second FPS 每秒渲染帧数 流畅度的标杆封装隐藏实现细节 把精力集中在需要关注的特定主题上顶点 与 索引四个顶点有两组索引 组成两个三角形把复用的三角形顶点数据转换为索引这种数据结构输入布局...原创 2020-12-02 09:58:01 · 173 阅读 · 0 评论 -
Unity3D学习笔记之九 Shader入门精要-数学篇
特殊的矩阵 1.方块矩阵 :行列相等的矩阵 2.对角矩阵 : 除对角元素外其他元素都为0 3.单位矩阵 : 对角元素都为1的对角矩阵 任何矩阵和单位矩阵相乘结果是矩阵本身 4.转置矩阵 : r X c 的矩阵转置后为 c X r 的矩阵 5.逆矩阵 :特殊的方块矩阵 原矩阵和逆矩阵相乘得到单位矩阵 逆矩阵的逆矩阵是它本身 转置矩阵的逆矩阵是逆矩阵的转置原创 2017-08-31 11:09:39 · 299 阅读 · 0 评论 -
脏矩形渲染原理
原文链接全屏刷新渲染基于显示列表结构的渲染方式,最常的就是全屏刷新模式。这也是目前大多数游戏引擎普遍采用的方案,因为不管是原理还是实现都比较简单:首先设定一个时钟频率,例如通常是每秒执行60次。每次都单独刷新一次屏幕。刷新过程就是直接清空整个屏幕,然后从显示列表的根节点开始遍历,按顺序找到每个可呈现的显示对象节点,按照它的坐标和大小绘制到屏幕上。这样开发者只需要改变显示对象的位置属性,等待...转载 2018-11-28 22:06:01 · 4956 阅读 · 0 评论 -
OpenGL绘制方式
OpenGL绘制方式目标:辨别所有OpenGL中可用的渲染图元初始化和设置数据缓存,用于几何渲染使用多实例渲染等高级技法对渲染优化OpenGL的主要作用是将图形渲染到帧缓存中,为了实现这一要求,需要将复杂的物体分解成图元的形式(包括点线三角形),当他们的密度足够高时,就可以表达为2D和3D物体的形态。OpenGL包含了很多渲染这种图元的函数。这些函数描述图元在内...原创 2019-05-02 22:22:53 · 533 阅读 · 0 评论 -
基础色彩理论
现实物理世界中,光由光子组成,光子是由波长的。人的眼睛有种细胞可以感应光的波长,我们只是用红绿蓝作为基础的三原色理由是这三种颜色非常接近人眼光锥细胞的响应曲线的中心区域。真实世界光的频率和波长是连续变化的,计算机的帧缓存只能使用变化较小的离散数值表示。OpenGL中如何使用颜色?片元着色器将负责设置每个片元的颜色,有多种方式实现这一目的:给每个片元设置一个常亮颜色值。 每...原创 2019-05-02 22:25:16 · 334 阅读 · 0 评论 -
OpenGL矩阵变换
使用矩阵完成如下变换将相机移到正确的观察位置:平移和旋转。 将模型移到视野内:平移,旋转和缩放。 应用透视投影。uniform mt4 ViewT, ViewR, ModelT, ModelR, ModelS, Project;in vec4 Vertex;void main(){gl_position = Project*ModelS * ModelR * Mo...原创 2019-05-02 22:41:10 · 203 阅读 · 0 评论 -
3d图形学中的uv坐标
1.什么是uv? 所有的图象文件都是二维的一个平面。水平方向是U,垂直方向是V,通过这个平面的,二维的UV坐标系。我们可以定位图象上的任意一个象素。但是一个问题是如何把这个二维的平面贴到三维的NURBS表面和多边形表面呢? 对于NURBUS表面。由于他本身具有UV参数,尽管这个UV值是用来定位表面上的点的参数,但由于它也是二维的,所以很容易通过换算把表面上的点和平面图象上的象素对应起来。所以把图转载 2017-08-21 11:21:15 · 9232 阅读 · 0 评论 -
Cocos2d-x v3.X的颜色混合BlendFunc使用详解
1、概念详解“颜色混合”是指两种颜色的叠加,在新图片渲染到屏幕上的时候,将根据新图片的红、绿、蓝和透明度值与已加载屏幕上的图片颜色信息重新融合。1)源颜色:新图片成为源颜色2)目标颜色:屏幕上已存在颜色称为目标颜色3)源因子:OpenGL会把源颜色和目标颜色各自取出,并乘以一个系数,源颜色乘以的系数称为源因子4)目标因子:目标颜色乘以的系转载 2017-04-26 22:31:31 · 1117 阅读 · 0 评论 -
纹理映射
纹理映射是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。纹理映射是真实感图像制作的一个重要部分,运用它可以方便地制作出极具真实感的图形而不必花费很多时间考虑物体的表现细节。然而纹理加载的过程可能会影响程序运行的速度,当纹理非常大非常多的时候这种情况尤为明显。如何妥善的管理纹理,减少不必要的开销,是系统优化时必须考虑的一个问题。于是OpenGL采用了纹理对象管理技术来解决这个问原创 2016-12-21 22:55:20 · 777 阅读 · 0 评论 -
子龙山人的OpenGL学习之路
http://4gamers.cn/archives/55#more-55转载 2014-07-02 19:19:40 · 1338 阅读 · 0 评论 -
游戏中的图像资源(位图与矢量图比较)
当今游戏早已不再是黑白机的时代,游戏都由色彩丰富、精致的图像,流畅的动画构成。Flash游戏也不例外,Flash既支持矢量图又支持位图,他们各有优缺点。本文的目的即是介绍何时使用矢量图,何时使用位图,如何在两者之间权衡?1. 前言首先让我们了解一下何谓矢量图,何谓位图,及各自的优缺点。这些内容与游戏无直接关系,但是了解他们的差异有助于我们在游戏中如何选择。1.1 矢量转载 2015-06-23 16:18:29 · 6737 阅读 · 0 评论 -
OpenGL教程汇总
GLSLhttp://blog.csdn.net/racehorse/article/details/6634830https://learnopengl-cn.readthedocs.org/zh/latest/04%20Advanced%20OpenGL/08%20Advanced%20GLSL/http://blog.csdn.net/xiajun07061225/article转载 2016-04-03 18:01:06 · 734 阅读 · 0 评论 -
OpenGL笔记
译序早前学OpenGL的时候还是1.x版本,用的都是glVertex,glNorma等固定管线API。openGL ES 2.0 版本开始不再支持固定管线,只支持可编程管线。准备1.The OpenGL Extension Wrangler(GLEW) 是用来访问OpenGL 3.2 API函数的。 不能简单的使用gl.h来访问OpenGL接口,除非你相用旧原创 2016-03-28 00:00:08 · 414 阅读 · 0 评论 -
OPENGL学习笔记之share 纹理,变换 源代码
#include #include #include #include #include const int n = 40;//分割的精确度const GLfloat R = 0.5f;const GLfloat Pi = 3.1415926f;const GLfloat factor = 0.1f;void MyDisplay(void){ int i原创 2013-06-03 19:43:57 · 1414 阅读 · 0 评论 -
图形学中变换用到的数学知识
变换原文Transformations作者JoeyDeVries翻译Django校对Meow J, BLumia尽管我们现在已经知道了如何创建一个物体、着色、加入纹理,给它们一些细节的表现,但因为它们都还是静态的物体,仍是不够有趣。我们可以尝试着在每一帧改变物体的顶点并且转载 2016-09-26 17:38:08 · 2821 阅读 · 0 评论 -
OpenGL 词汇表
词汇表OpenGL: 一个定义了函数布局和输出的图形API的正式规范。GLEW: 一个拓展加载库,用来为我们加载并设定所有OpenGL函数指针从而让我们能够使用所有(现代)OpenGL函数。视口(Viewport): 我们需要渲染的窗口。图形管线(Graphics Pipeline): 一个顶点在呈现为像素之前通过的过程。着色器(Shader): 一个运行在显卡上的小型程序。很多阶段的图形转载 2016-09-27 16:34:14 · 298 阅读 · 0 评论 -
【OpenGL】学习笔记之一 绘制基本图形单元的方法
GLAPI void APIENTRY glViewport( GLint x, GLint y, GLsizei width, GLsizei height );参数:视口范围 xy左下角 向右width 向上height作用:设置视口转载 2014-05-21 21:21:02 · 893 阅读 · 0 评论