自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 PuppetMaster学习记录

PuppetMaster是一个用来做物理动画模拟的插件,简单来说就是通过在布娃娃和动画之间做混合,实现在不同需求场景下的不同表现。

2024-03-20 14:32:00 752

原创 第十章 文件和异常

【代码】第十章 文件和异常。

2024-03-09 14:07:03 112

原创 第九章 类

class Dog:# 构造函数,第一个参数必须是self# 普通成员函数 第一个参数也需要时selfprint(f"class Dog : # 构造函数,第一个参数必须是self def __init__(self , name , age) : self . name = nameself . age = age # 普通成员函数 第一个参数也需要时self def Sit(self) : print(f" {

2024-03-09 11:06:24 140

原创 第八章 函数

【代码】第八章 函数。

2024-03-08 21:19:28 65

原创 第七章 用户输入和while循环

【代码】第七章 用户输入和while循环。

2024-03-08 20:53:50 85

原创 第六章 字典

【代码】第六章 字典。

2024-03-08 20:28:19 94

原创 第二章 变量和简单数据类型

message1 = “Hello ‘Python Crash Course’ reader”message2 = ‘Hello “Python Crash Course” reader’print(message1)name = “ada lovelace”print(name.title()) # Ada Lovelaceprint(name.upper()) # ADA LOVELACEprint(name.lower()) # ada lovelaceage = 10print(f

2024-02-22 23:40:40 190

原创 lua middleclass 学习记录

完整代码class调用通过middleclass的__call元方法调用到middleclass.class。在class函数中有两个不同的处理情况,如果传入父类,根据父类生成类模板,否则生成一个基类模板。

2023-04-29 16:58:10 186

原创 第五章 if语句

# 基本语法a = {1, 2, 3}if 1 not in a: # not in print("Has 1")elif 2 in a: # in print("Has 2")else: print("Faile")# 布尔值bT = TruebF = False# 列表为空c = {}if c: print("C Is Not Empty")else: print("C Is Empty")# 多个

2022-05-08 10:46:18 172

原创 第四章 操作列表

# 遍历a = [1, "a", 2, 'b']for item in a: print(item)print("================================")# 创建数值列表for value in range(0, 5): # [min, max) print(value)# 创建列表b = list(range(0, 5))print(f"创建列表range(0, 5)===>{b}")# 添加步长c = list(rang

2022-05-08 10:45:40 80

原创 第三章 列表简介

# 列表a = [1, 2, "aaa", 'bbb']# 索引a[0] # 第一个元素a[-1] # 最后一个元素# 修改元素a[0] = 0a[1] = "ccc"# 末尾添加元素a.append("eee")print(f"添加元素eee===> {a}")# 插入元素 插入到指定位置,原位置的元素后移a.insert(1, 1)print(f"插入元素1===> {a}")a.insert(-1, "ddd") # 插在eee之前,而不是最后

2022-05-08 10:44:45 71

原创 记录一些材质纹理模型等等资源网站

https://ambientcg.com/https://www.mixamo.com/#/https://kenney.nl/assetshttps://freepbr.com/http://www.hdrlabs.com/sibl/archive.html

2021-08-20 16:46:28 163

原创 Chapter 8 The Graphics Pipeline

Chapter 8 The Graphics Pipeline找到图像中每一个被几何图元占据的像素的过程叫做光栅化(rasterization)。8.1 Rasterization对每一个输入的图元,光栅器(rasterizer)都有两个工作,枚举图元覆盖的所有像素以及对顶点属性进行插值,光栅器的输出是一系列片元(fragment),对应一个被图元覆盖的像素。8.1.1 Line DrawingLine Drawing Using Implicit Line Equations最常用来画的隐式

2020-05-28 18:58:29 159

原创 Chapter 7 Viewing

Chapter 7 Viewing7.1 Viewing Transformations大多数图形系统都包含以下三个转换序列Camera Transformation, Eye TransformationProjection TransformationViewport Trasnformation, Window TransformationThe Viewport Transformation假定当前的几何物体位于标准视体内,标准视体是一个三维盒体,坐标都满足(x,y,z)∈[−1,

2020-05-11 11:48:36 181

原创 Chapter 19 Color

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 19 Color关于颜色的研究分为三个方面:物理方面:光在空间中传播化学方面:光与表面的作用生理方面:人对于光的反应图形学中通常只关注第一点。一个光子会携带能量ΔE\Delta EΔE,它与波长λ\lambdaλ有关λΔE=1239.9 \lambda\Delta E = 1...

2020-05-02 18:42:33 220

原创 Chapter 2 The Graphics Rendering Pipeline

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 2 The Graphics Rendering Pipeline2.1 Architecture实时渲染管线可以被粗略分为四个部分2.2 The Application Stageapplication阶段一般执行在cpu上,包括碰撞检测、全局加速算法、动画以及物理模拟等操作。也可以使用c...

2020-05-01 19:48:35 166

原创 Chapter 3 The Graphics Processing Unit

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 3 The Graphics Processing UnitGPU通过高并发的任务来达到高速计算的目的。GPU可以通过特定专用硬件实现z-buffer,快速访问纹理数据和其他缓存,查找被三角形覆盖的pixel。3.1 Data-Paralled ArchitecturesCPU在处理多种不同的...

2020-05-01 19:48:25 428

原创 Chapter 4 Transforms

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 4 Transforms基础变换仿射变换的特点是保证了平行关系,但是长度跟角度可能发生变化。各种变换操作的描述:其中正交投影是正交的。。。Basic TransformsTranslationT(t)=T(tx,ty,tz)=(100tx010ty001tz0001)T−1(t)=T(...

2020-05-01 19:48:13 235

原创 Chapter 6 Texturing

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 6 TexturingTexturing Pipeline纹理管线的开始是确定一个空间中的点,通常采用模型坐标,因为它可以随着模型的移动而移动。之后通过一个投影函数(projector function)将该点转换成纹理坐标,这一步称为mapping。在使用纹理坐标来访问纹理前,需要使用匹配函数(...

2020-05-01 19:48:03 517

原创 Chapter 7 Shadows

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 7 Shadows本章阴影相关术语:柔和阴影不是简单地将阴影边进行模糊处理,而是离投影面越近越锐利,越远边界越模糊。Planar ShadowsProjection Shadows如果将阴影投射到y=0平面上可以使用矩阵:$$M = \begin{pmatrix} l_y &a...

2020-05-01 19:47:50 329

原创 Chapter 8 Light and Color

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 8 Light and ColorLight QuantitiesRadiometry(辐射学)radiometry是解决电磁辐射测量问题。不同波长的电磁波有不同的性质,自然界中可见电磁波的波长范围是400nm到700nm。radiometry变量:名称符号单位...

2020-05-01 19:47:40 298

原创 Chapter 9 Physically Based Shading

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 9 Physically Based ShadingPhysics of Light在光物理中,光被认为是一种电磁横波,垂直于它传播方向震荡电和磁场的波。该图描述的是一种偏振光,而自然光通常是非偏振光。为了理解非偏振光,对于理解单色光和偏振光是非常重要的,因为任何光都可以由多个单色光组成。如...

2020-05-01 19:47:21 509

原创 第一章 OpenGL概述

第一章 OpenGL概述1.4 OpenGL渲染管线openGL管线1.5 第一个程序:深入分析初始化顶点数组对象顶点数组对象负责保存一系列顶点的数据,数据保存在顶点缓存对象中,并由当前绑定的顶点数组对象管理。分配顶点数组对象void glGenVertexArrays(GLsizei n, GLunit* arrays)返回n个未使用的对象名到数组arrays当中,用作顶点数...

2020-05-01 19:12:09 298

原创 第十二章 计算着色器

第十二章 计算着色器工作组及其执行计算着色器中任务以组为单位进行执行,称为工作组。拥有邻居的工作组称为本地工作组,这些组可以组成更大的组,称为全局工作组。计算着色器会被全局工作组的每一个单元调用一次。本地工作组和全局工作组都是3维的,如果不需要某个维度可以将其大小设置为0(感觉应该是1)。局部工作组的大小在着色器中使用布局限定符声明:#version 430 corelayout(loc...

2020-05-01 19:11:40 1005

原创 第十一章 内存

第十一章 内存使用纹理储存通用数据着色器中可以将图像定义为uniform。采样器类型和图像类型的主要区别是:首先图像类型表达的单一层的纹理,不是完整的mipmap链;其次,图像类型不支持滤波采样操作;还有包括包括深度比较的采样操作。三种基本的图像类型分别为image*、iimage*和uimage*,分别对应浮点数、有符号整数和无符号整数。除了与图像变量相关通用数据类型,还需要使用一...

2020-05-01 19:11:32 700

原创 第十章 几何着色器

第十章 几何着色器创建几何着色器使用glCreateShader()结合参数GL_GEOMETRY_SHADER创建几何着色器。如果不需要启用光栅化可以使用glEnable(GL_RASTERIZER_DISCARD)来关闭光栅化阶段。几何着色器的图元类型与对应的绘制模式:几何着色器图元对应的绘制命令模式pointsGL_POINTS, GL_PATCHES...

2020-05-01 19:11:17 1232

原创 第九章 细分着色器

第九章 细分着色器细分面片细分着色器只能处理面片(patch)类型的图元,如果启用细分着色器,将其他类型图元传递给它会产生GL_INVALID_OPERATION错误,如果没有启用细分着色器,那么渲染面片数据也会得到GL_INVALID_OPERATION错误。面片就是传递给OpenGL的顶点列表,处理过程要保证顺序正确。指定面片顶点数量void glPatchParameteri(GL...

2020-05-01 19:11:08 619

原创 第七章 光照与阴影

第七章 光照与阴影双面光照OpenGL内置变量gl_FrontFacing设置为true则为正面,否则为反面

2020-05-01 19:10:58 247

原创 第六章 纹理

第六章 纹理纹理映射使用纹理映射的步骤:创建纹理对象,为他加载纹理数据为顶点增加纹理坐标把纹理图与着色器中将要使用的纹理采样器关联在着色器中使用纹理采样器来查询纹素值。基本纹理类型每个纹理对象表示组成完整纹理的一组图像,每个图像可以是纹素的1维2维或者3维数组,并且许多图像可以放在另一个图像的顶部来形成mipmap金字塔。纹理也可以包括1维或者是2维切片的数组,这样的纹理称为数...

2020-05-01 19:10:42 787

原创 第五章 视口变换、剪切与反馈

第五章 视口变换、剪切与反馈观察视图OpenGL的坐标系统:OpenGL变换设置远近平面void glDepthRange(GLclampd near, GLclampd far);void glDepthRangef(GLclampf near, GLclampd far);近平面和远平面的值也就是深度缓存中所保存的最小值和最大值。默认情况下分别取0.0和1.0,所设置的范围是...

2020-05-01 19:10:25 378

原创 第四章 颜色、像素和帧缓存

第四章 颜色、像素和帧缓存缓存以及用途OpenGL包含以下三种缓存:一个或者多个颜色缓存(color buffer)深度缓存(depth buffer)模板缓存(stencil buffer)缓存的清除设置缓存清除值void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);vo...

2020-05-01 19:10:15 2140

原创 第三章 OpenGL绘制方式

第三章 OpenGL绘制方式OpenGL图元点设置点的大小可以再顶点、细分、几何着色器的内置变量gl_PointSize来指定,在OpenGL中可以通过glPointSize(size)来指定,这两种方式都需要开启GL_PROGRAM_POINT_SIZE。如果点的大小超过1个像素,那么该点中心所在的所有像素都会受到该点光照的影响。在片元着色器中,可以使用gl_PointCoord来访问...

2020-05-01 19:09:54 847

原创 第二章 着色器基础

第二章 着色器基础做色漆语言概述变量的声明GLSL中的基本数据类型:float double int uint boolGLSL中的不透明类型包括采样器(sampler)图像(image)以及原子计数器(atomic counter)变量的初始化所有变量必须在声明的同时进行初始化。构造函数GLSL中支持的隐式类型所需类型可以从这些类型隐式转换uintint...

2020-05-01 19:09:33 878

原创 Chapter 18 Light

(个人笔记,由于刚开始学习再加上英语不太好,所以有的地理解的可能不太对,望指正)Chapter 18 Light18.1 Radiometry光从本质上来说是一种能量的传播形式,单位是焦耳(joule, J)。18.1.1 Photons对于本章的目的来说,光子是一个拥有位置,传播方向和波长λ\lambdaλ的光量子(a quantum of light)。一个光子的速度为ccc,这个速...

2020-05-01 18:41:01 232

原创 Chapter 15 Curves

Chapter 15 Curves15.1 Curves数学上来讲,曲线可以使用两种方式进行定义:在一个n维空间上的一个连续图像一个从一维空间到n微空间的一个连续映射一个普通的形状的曲线没有一个命名形状,它被称为free-form曲线。表示曲线的方式:Implicit: f(x,y)=0f(x, y) = 0f(x,y)=0Parametric: (x,y)=f(t)(x, ...

2020-05-01 18:40:45 301

原创 Chapter 11. Texture Mapping

Chapter 11. Texture Mapping11.1 Looking Up Texture Valuesϕ\phiϕ表示将表面坐标S转换到纹理坐标T当中ϕ:S→T:(x,y,z)↦(u,v) \phi : S \to T \\ : (x, y, z) \mapsto (u, v)ϕ:S→T:(x,y,z)↦(u,v)texture mapping的需...

2020-05-01 18:40:28 385 2

原创 Chapter 10 Surface Shading

Chapter 10 Surface Shading10.1 Diffuse ShadingLambertain Shading Model其中n表示表面法线方向,l表示光照方向,表面颜色正比于θ,公式为c=crcln∙l(10.1)c = c_rc_ln\bullet l\qquad\qquad(10.1)c=cr​cl​n∙l(10.1)其中crc_rcr​表示漫反射系数,cl...

2020-05-01 18:40:06 255

原创 Chapter 6 Transformation Matrices

Chapter 6 Transformation Matrices6.1 2D Linear Transformation6.1.1 Scalingscale(sx,sy)=[sx00sy] scale(s_x, s_y) = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix}scale(sx​...

2020-05-01 18:39:50 417

原创 Chapter 5 Linear Algebra

Chapter 5 Linear Algebra5.1 Determinants对于2维向量来说,行列式|ab|等于两个向量形成的平行四边形的面积,这个值是带符号的,正值表示右手性,负值表示左手性。右手性表示第一个向量沿小角度方向旋转到第二个向量是逆时针方向。shearing操作不会影响面积∣(a+kb)b∣=∣a(b+ka)∣=∣ab∣ |(a+kb)b|=|a(b+ka)|=...

2020-05-01 18:39:33 177

原创 Chapter 4 Ray Tracing

Chapter 4 Ray Tracing渲染的就是将一系列对象作为输入,产生像素输出的过程,由此可以将这个过程分成两种不同的处理方式:object-order rendering:每个对象决定影响的像素image-order rendering:每个像素决定影响它的对象4.1 The Basic Ray-Tracing Algorithm基本的光线追踪器包含三个部分:ray g...

2020-05-01 18:39:14 263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除