- 博客(12)
- 收藏
- 关注
原创 c++实现软光栅(二)实现立方体的绘制&几个视图矩阵变换&投影矩阵推导
文章目录顶点数据分析如何变换到世界空间:Model_Matrix缩放rotate_matrix旋转平移如何变换到摄像机空间:View_Matrix如何变换到裁剪空间:Projection_Matrix裁剪空间具体做了啥如何变换到屏幕像素点空间: Viewport_Matrix首先放一张图震文^^下文的讨论都和这个变换过程密切相关。并且本文不对基础的线性代数进行介绍,比如向量,矩阵,逆,转置的概念就不介绍了(本小白比较懒==)。顶点数据分析想从变换一个立方体的坐标开始着手。每一个物体都有自己的loc
2020-08-22 16:52:49 1132
原创 c++实现软光栅(一)软光栅基础功能/代码层级
文章目录初衷基础功能/代码层级初衷LearnOpenGL的教程看了很多遍,基本熟悉了对OpenGL API的调用,熟悉了顶点到像素点的绘制过程,以及不同的坐标系的效果,旋转矩阵的作用等。但想要深入了解图形API的内部渲染原理,得自己实现一遍才能有更清晰的体会,脱离GPU,用CPU实现绘制。这个项目旨在:1.熟练c++语法;2.熟悉图形渲染管线过程;3.熟悉基础矩阵变换;基础功能/代码层级...
2020-08-17 15:39:22 2633
原创 配置visual c++中OpenGL环境时遇到的坑
工作和学习中,经常需要搭建visual studio中的OpenGL环境,因为自己太菜了,每次都会跳出来链接或者编译不通过的框框,以前每次都要google别人的解决方法,现终于决定自己记录下遇到的坑,争取以后慢慢跳过这些坑,不在配环境时浪费很多时间。知识点(持续更新)1.关于VS项目平台的x86,x64以及Debug和Release的区别2.静态链接库与动态链接库1.关于VS项目平台的x86,...
2020-03-15 11:34:20 377
原创 基于切比雪夫空间距离的空间跳跃体绘制加速方法(Empty Space Skipping-ESS)
快速链接常见的加速方法空间跳跃加速方法ESSESS基本思想计算生成occupancy_map计算生成distance_map基于distance_map渲染过程代码分析计算着色器语法occupancy_map.compdistance_map.comp开学前老板就分了体绘制的方向,在知道了基础的光线投射算法(一种经典的体绘制方法)后,我开始寻找速度更快的体绘制方法,来提高渲染的帧率。经典的光线投...
2020-01-09 11:09:09 1632 1
原创 c++:引用形参与指针形参
经常忘记:1.函数中传引用、传指针常量必须被常引用绑定,但是常引用可以绑定变量指针形参,对指针变量的拷贝,可以在函数中改变指针所指的变量值,但是无法改变传进的指针值void reset(int *a)//形参类型是指针类型,因为指针的特性就是间接找到变量{ *a=0;}int i=42;reset(&i);//取地址咯cout<<i<<end...
2019-11-16 16:44:34 1706
原创 GPU编程的一些基础知识点
基础知识点GPUShader(图形渲染管线)应用程序阶段几何阶段光栅阶段图形硬件Zbuffer与Z值stencil bufferframebufferGPUGPU上拥有更多的ALU(算数逻辑单元),于是在处理图形数据和复杂算法上面比CPU拥有更高的效率。GPU采用数据并行处理方式。GPU解决了CPU的不能同时计算大量不相关的数据的缺点,但是因为控制器少于CPU,于是有些情况下还是CPU好用S...
2019-10-12 22:19:00 351
原创 C++中左值与右值,与其引用
在c和c++中cc++c在c中,通常有名字的变量就是左值,而产生的中间结果就是右值,比如3+4,a+b暂且可以认为左值就是可以寻到地址的东西,右值就是无法寻到地址的东西c++对于基本数据类型,在c++中左右值的概念与c相同,但是...
2019-10-05 14:40:44 126
原创 体绘制
体绘制总体总体是一种由三维场产生屏幕二维图像的技术,优点是可以探索事物的内部结构体素:用三维数列表示三维数据场的值,比如医学图像切片值,相邻层之间的八个节点包裹起来的小立方体体绘制:一种基于体素的绘制技术,比面绘制与线绘制更能够描述事物的内部结构体光照模型:研究光学现象,即光线穿过体素时的光强变化,有三种模型常用源-衰减模型变密度发射模型材料分类及混合模型体绘制方法:以图...
2019-09-09 20:29:08 939
原创 PBR
PBR理论微平面理论(Microfacet Theory)能量守恒(Energy Conservation)反射系数方程理论PBR技术(physically based rendering)是由一系列技术构成,有一些物理参数,无论在什么光照条件下都可以反映正确纹理。一个PBR光照模型必须要满足的条件:1.基于微突面模型2.能源节约3.使用基于物理的BRDF微平面理论(Microfac...
2019-08-15 19:04:57 277
原创 论游戏程序员的自我修养(MiloYip)
miloyip1.如何进入游戏行业的2.对想从事游戏开发的人有什么建议3.游戏开发者需要的能力4.如何进行游戏相关技术的学习5.程序员会做重复的工作吗?6.如何提高游戏开发效率7.游戏开发最难得是什么8.作为技术总监如何管理一个团队9.35岁中年论?10.如何平衡生活与工作腾讯即将推出《腾讯游戏开发精粹》1.如何进入游戏行业的小学玩游戏,然后学习编程,初中就认识朋友开始做游戏。硕士毕业后回到游...
2019-08-05 17:40:55 1063
原创 解决在OpenGL中导入.obj模型所遇一些问题的方法
解决在OpenGL中导入.obj模型纹理与模型不在同一路径下的方法相对路径格式“/”与“\”相对路径起始导入模型的限制最近在学习LearnOpenGL CN,学到了模型加载那一章,遇到了一些错误,找到了一些解决办法,记录下来。相对路径格式“/”与“\”在代码Model ourModel(FileSystem::getPath("resources/objects/nanosuit/nan...
2019-04-21 10:21:28 5379 10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人