自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stringstream.str()和c_str()有关内存问题

stringstream.str()、 c_str()

2022-08-06 10:21:43 885 1

原创 详解ios::exceptions

ios::exceptions

2022-08-05 11:23:52 388

原创 Games101 学习笔记07

辐射度量学WHYWhitted Style的光线追踪用的也是Blinn-Phong模型做的光照着色,而这个模型没有考虑到光照是如何衰减的。What辐射度量学可以精确得到光照的结果精确描述光和物体表面的作用基于几何光学(不考虑波动性)定义了Radiant flux、intensity、irradiance、radiance。定义Radiant flux可以类比为功率、亮度、光通量。Radiant Intensity立体角为球面面积除以半径的平方。球面有4pai立体角。单位立体

2022-04-03 20:57:02 374

原创 Games101 学习笔记06

光线追踪为什么需要光线追踪光栅化难以做全局光照、不好做软阴影,glossy refection、难以处理间接光照、虽然计算速度快但是效果差。光线追踪慢、质量高。光线光线沿直线传播光线不会发生碰撞光线从光源到人眼里,光路具有可逆性。光线投射发生多次折射Whitted-Style光线追踪光线定义光线和球的交点根据t的值可以有三种情况,相交,相切和相离。对于所有的隐式表面都可以用同样的方法求交点,只要保证t有意义和二次方程有解。光线和三角形网格求交可以先求出平面和光线

2022-03-22 11:15:55 142

原创 games101 学习笔记05

纹理应用环境光默认环境光来自无限远,没有深度位置。由于球面的扭曲性,用正方体来表示各个方向的环境光照。凹凸贴图纹理可以有相对高度,在不改变模型几何的情况使像素法线不一样,最后产生不同的着色效果。通过切线可以计算法线。二维做切线的垂直或者旋转,三维做两个切线的叉乘。位移贴图通过凹凸贴图来真的改变模型的几何形状。但是要求三角形精度需要大于纹理贴图的变化频率。纹理还可以是三维,也可以加上环境光遮蔽,作为纹理每个点的一个属性,来影响着色。几何隐式几何不给出几何中点的坐标,只给出几何中点满足的关

2022-03-18 19:26:41 146

原创 Games101作业2

Games101 作业2这次作业要写两个函数,第一个是判断点是否在三角形中,第二个是光栅化一个三角形。insideTriangle函数static bool insideTriangle(int x, int y, const Vector3f* _v){ Vector3f dir[3]; // AP,BP,CP Vector3f pos = Vector3f(x, y, 1); for (int i = 0; i < 3; ++i) { dir[

2022-03-17 20:33:27 585

原创 games101学习笔记04

着色画家算法从远到进逐步画物体,近处物体会覆盖远处。但是有的图深浅关系比较复杂,算法不太适用。Z缓存存储每一个像素点的最近z值。一个缓存存储颜色,还需要额外的缓存来存储深度。为了方便,我们假设z轴近小远大。z缓存初始化为无限大。复杂度为O(n)shading(Blinn-Phong)在图形学中,shading并定义为对物体加以不同的材质,因为不同的材质对光的反射不同。着色具有局部性。不考虑其他物体阴影的影响。漫反射(Lambertian Term)单位光通量不一样。单位面积接受

2022-03-14 15:16:57 260

原创 games101 作业0 & 1

Games101 作业0&1vs2019配置环境opencv配置eigen库配置作业1模型变换函数Eigen::Matrix4f get_model_matrix(float rotation_angle) //传入旋转角度{ Eigen::Matrix4f model = Eigen::Matrix4f::Identity(); model << cos(rotation_angle), sin(rotation_angle), 0, 0,

2022-03-13 09:22:44 183

原创 并查集归类

并查集洛谷P1111修复公路题目背景A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。题目描述给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)输入格式第1行两个正整数N,M下面M行,每行3个正整数x, y, t告诉你这条公路连着x,y两个村庄,在时间t时能修复完成这条公路。

2022-02-27 20:34:24 292

原创 games101 学习笔记03

定义可视锥定义看到的近平面的宽高比(aspect ratio)和垂直可视角度(field-of-view),就可以确定可视锥。标准正方体到屏幕raster = screen in German一些像素定义:像素是(x,y)形式的坐标。所有的像素是(0, 0)到(x - 1, y - 1)。像素(x, y)中心是(x + 0.5, y + 0.5)。屏幕区域为(0, 0)到(x, y)。将[−1,−1]3[-1, -1]^3[−1,−1]3映射到[0, width] x [0, he

2022-02-20 12:36:02 169

原创 games101 学习笔记02

三维旋转后平移注意为先旋转后平移,因为写开为旋转后的坐标加上tx,ty,tz。绕x,y,z轴旋转注意绕y方向的旋转矩阵不一样,因为逆时针和右手系,x轴对应的是yoz平面,z轴对应的是xoz平面,而y轴对应的是zox平面。绕任意轴旋转Rxyz(α,β,γ)=Rx(α)Ry(β)Rz(γ)R_{xyz}(\alpha,\beta,\gamma) = R_{x}(\alpha)R_{y}(\beta)R_{z}(\gamma)Rxyz​(α,β,γ)=Rx​(α)Ry​(β)Rz​(γ)轴过原

2022-02-13 12:08:05 1319

原创 games101 学习笔记01

games101

2022-02-10 19:11:01 180

原创 整数二分查找

整数二分查找

2022-01-19 16:16:22 66

原创 两种快速排序算法

快速排序的两种算法

2022-01-17 18:46:01 179

空空如也

空空如也

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

TA关注的人

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