自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 图形学笔记——光追

对一束光来说,其实不止反射一次,现实中也是如此,但是现实的光照,当一束光l照到p点时,往各个方向都会反射光,我们的模型不可能像是现实中一样,因为经过每次反射一束光会分散为n束光的话,这样的话光线的数量其实是指数级增长的,用不了几次性能就会炸,那么,让这里的n=1不就可以了吗?是反射别人的光,路径追踪计算的就是反射别人的光,在计算时,不是以光源为出发点的,而是以点p为出发点的,因为光路有可逆性,所以从p点出发能打到的物体和光源,其实就是照到p点的光源和反射到他的物体。其实就整体的光照函数,是已知的。

2025-01-30 17:07:22 839

原创 图形学笔记——三角形网格的数据结构

不用我多说,这段代码在实际的图形学应用中调用频率是很高的,所以我们要好好观察这段代码,优化一步对性能的影响都是很大的,这里有一个点,那就是在三角形中寻找顶下下标这一步,显得有些繁琐了,为何会出现这种情况,说到底是因为顶点和三角形的对应关系是不明确的,所以在指定顶点的相邻三角形就会出现哪个都一样的情况,那么,对于边来说,这种情况就消失了,因为一条边一定被两个三角形共享,一个是现在的三角形,一个是相邻三角形,除此之外再无其他。这里的话自然会有一个问题,那就是边所指向的三角形有没有可能都指向一个?

2025-01-25 22:27:11 555

原创 图形学笔记——纹理映射

纹理映射本身属于光栅化阶段完成的事情,因为纹理说到底最后都会被画在像素上。关于问题一,思路有两个,以面为单位去思考纹理映射,也就是把纹理贴在整个面上,或者以网格为基础去思考纹理映射,也就是把纹理贴在每个三角形上。关于问题二,其实还是抗锯齿的问题,不过有些不一样,纹理和像素的对应关系,有可能是一个像素对应多个纹理,这时需要采样(Sample)然后卷积,还有可能是一个像素对应的纹理不足一个,那就需要进行插值也就是重塑(Reconstruction)。

2025-01-12 23:25:18 1040

原创 图形学笔记——Shader

shader的工作流程本身处在图形管线的光栅化之后,此时已经完成了对于物体本身颜色的映射,要做的事情就是完成光照对物体颜色的影响并画在纹理上,这个文件并不会阐述很多关于光照强度计算和反射光计算本身的问题,因为这些都有相应的模型而且多说无益。文件的着重点在于纹理映射到屏幕带来的各种问题。基本分为以下两种。

2025-01-06 19:45:23 530

原创 图形学笔记——光栅化

光栅化的本质是基于对象的渲染,这种渲染的思路以每个图元为出发点,根据图元来计算每个像素点的着色,与此相对光追是以像素点为出发点,每个像素独立计算其着色。

2025-01-05 11:15:08 955

原创 图形学笔记——投影

将由x轴,y轴,-z轴构成的坐标系称为坐标系1,目标坐标系为坐标系2具体的变化矩阵求解思路中,实际是先把坐标系1转化为坐标系2然后求逆的,因为这个矩阵本质是个旋转矩阵(先忽视平移变化),所以求他的逆就是转置,同时坐标系1到坐标系2的变化的逆变化就是坐标系2到坐标系1的变化。视角变化实际就是摄像机的变化,目标是把摄像机正面朝向-z方向,向上方法为y轴,位置在原点,两者的叉积为x轴方向,右手系定了两个自然第三个就确定了。加上平移向量构成的齐次矩阵就是所求的变化矩阵,不妨设该矩阵为。的标准空间,设其变化矩阵为。

2025-01-02 22:32:40 772

原创 图形学笔记——矩阵变化

​x′y′z′​​P​xyz​​其中P是变化矩阵,对于拉伸变化来讲,需要具体根据拉伸后以及拉伸前的图形求解该矩阵。对于旋转变化来讲,只有对于x,y,z三个轴的旋转的组合为其他变化,如果旋转轴不过原点,可以先做平移变化移到过原点,然后再进行旋转变化,最后再平移回去。

2025-01-02 18:31:12 1236

原创 LZW算法

https://www.cnblogs.com/jillzhang/archive/2006/11/06/551298.html

2023-09-26 19:16:32 111

原创 曲线积分与曲面积分

2023-09-17 21:32:18 141 1

原创 考研数学级数题型总结

在这里插入图片描述。

2023-09-15 20:46:56 154

原创 考研数一证明题思路总结

2023-09-12 18:16:13 215 1

原创 考研:计网应用层考点总结

​ 如果是主机,他至少需要等待访问本地域名服务器的那一次RTT,至多情况下,根域名服务器(.)+顶级域名服务器(com)+权限域名服务器+本地域名服务器,其中权限域名服务器可能不止一次。​ 如果是迭代方式,本地域名服务器会发送多次请求,每次请求返回下一个查询的域名服务器地址,直到确认域名所对应的IP地址为止。​ 一个域名可以对应多个IP地址,只要在域名服务器上做对应的数据映射修改即可,同理,可以不对应IP地址。对于采取流水方式的HTTP来说,假设一个网页上有n个资源,每个资源都需要1个MSS,

2023-09-09 17:31:33 169 1

原创 IP4地址

IPv4地址详解一、分类地址地址类型网络号范围/作用标志可分配范围A类地址高位1字节最高位00.0.0.1~126.255.255.254B类地址高位2字节最高位10128.0.0.1~191.255.255.254C类地址高位3字节最高位110192.0.0.1~223.255.255.254D类地址多播地址最高位1110224.0.0.0~239.255.255.255E类地址保留最高位1111240.0.0.0~255.

2023-09-06 19:54:39 392 1

原创 Hello驱动

编写hello驱动

2023-01-12 15:57:15 258

原创 cp can‘t stat ..........

2022-06-04 20:24:38 3110

原创 磁盘相关知识总结

磁盘相关知识总结一、物理结构1.1 基本物理结构https://blog.youkuaiyun.com/weixin_37641832/article/details/103217311这篇文章讲得很清楚了,这里再做下基本的总结。**扇区:**磁盘的物理上的最小部件是扇区,每个扇区都是一段圆弧,逻辑块地址(LBA,Logical Block Address)。**磁道:**扇区组成的完整水平圆就是磁道,许多磁道组成的圆面称作盘面。一个盘片有上下两个表面,所以一个盘片有两个盘面。**柱面:**从立体的竖直方

2022-03-03 20:50:51 326

原创 《操作系统zhenxiang还原》之进程

进程的实现一、数据结构的实现(基于内核级线程)进程和线程的区别:数据结构角度而言截至到目前,已经实现了内核级线程,数据结构的定义如下:struct thread{ struct thread_stack * stack_top; char name [16]; uint_32 id; enum T_STATUS status; //还剩的时钟数,每次时钟中断-1 uint_32 tick; //线程优先级,等于一开始的时钟数 uint_32 priority; //线程总共的时钟

2022-03-03 19:21:32 332

原创 CPL RPL 和DPL的个人总结

CPL、RPL和DPL一、 Current Privilege Level1.物理位置CS寄存器低二位,实际为CS寄存器的RPL字段。2.作用表明当前所处的特权等级,一般情况下与DPL相等,不如说CPL实际的来源就是DPL,除向一致性段的跳转以外。二、 Request Privilege Level1.物理位置段选择子寄存器低二位。2.作用作为请求跨段跳转的请求特权级,一般情况下与CPL相等,RPL是由用户提供的段选择子寄存器指定,所以用户能够定义不符合规定的RPL,不相等只存在与以下两

2022-03-03 16:10:46 1217 2

原创 C++ STL 保存vector中对象指针出现错误

C++中的vector其原理实质上是一个不断更新大小的数组,当向其中插入元素的大小大于实际大小时,会将整个数组进行复制,然后挪到内存中一块更大的连续地址空间,这里就产生了问题。如果在其他地方保存vector中的对象指针,然后vector重新定位了,那原来的指针就会失效,所以,如果有使用vector中元素指针的情况下,最好不要push_back。第二中解决办法就是利用,reserve()指定capitaty,避免vector的重新地位,注意,这里是reserve(),不是resize(),也不是在构造函数

2021-11-15 12:59:13 1437

原创 gcc ld生成32位elf文件

gcc -m32 -c main.c -o main.o编译生成32位文件ld -m elf_i386 main.o -o main.bin链接生成elf32位文件

2021-11-08 11:15:55 1639

原创 C++链表实现

#pragma oncetemplate <typename T>class Chain {private: T item; Chain<T>* now = this; Chain<T>* next; Chain<T>* pre; Chain<T>* end; //this同时也是链表的开始public: //N为链表长度 static int N; Chain() {} void push(T a) { if (!

2020-12-16 16:21:42 152

原创 C风格字符串与标准输出流

一、字符数组输出C风格的字符数组在遇到标准输出流时会输出,直到遇到’\0’为止:char a [3] = {'0','1','2'};cout << a;输出不做展示,但估计会有乱码,因为在字符串末尾并没有字符串结束符。二、指向char的指针类似于第一条,当标准输出遇到char的地址时,会将其当成字符串输出,直到遇到’\0’为止:char b = '0';char * c = &b;//两条输出得到的结果相同cout << c << endl

2020-12-14 13:28:07 284

原创 Qt设置背景图片

Qt设置背景图片本人完全的小白,就背景图片这个问题折腾了好长时间,最后才弄清,及时记录下来免得自己又忘了。1.setStyleSheetsetStyleSheet("background-colour:white;background-image:url(:img/pix.png);background-position:center;background-repeat:no-repeat");这种方法可设置背景图片显示位置,repeat可设置是否重复填充背景图片。但只能用于子控件设置背景图片,如

2020-11-14 16:29:55 664 1

空空如也

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

TA关注的人

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