2020年3月2日
Ray Tracing in one weekend是Peter Shirley ray tracing系列三部曲的第一本,也是学习ray tracing入门比较容易的一本书,原书中附带的有C++版本的code,最近在学习golang, golang中正好有image包,可以直接生成渲染好的jpg文件,那么就用golang来改写了一遍……
阅读全文
2020年2月29日
当这些物体都变成三角形之后,变成屏幕上的一个个像素点之后,这些像素的值和颜色应该是什么呢?这个就是着色的功能。下一步操作为着色。 挪动一下光源后,物体并没有发生变化,但是物体的颜色却发生了变化。这个问题应该如何解决,就是着色的作用。 这门课中着色的定义:对不同的物体应用不同的材质这样……
阅读全文
2020年2月22日
2 可见性与遮挡 2.1 画家算法 原理 先对远处的物体进行光栅化,后逐步对近处的物体进行光删化操作。(画近处的物体时会覆盖掉之前画的远处的一些物体)这样就可以正确地处理遮挡的问题了。 涉及到一个问题 这里涉及到一个问题:当某些物体在深度上存在互相遮挡的情况,此时没有办法定义顺序关系,这样就无法使……
阅读全文
2020年2月16日
在“MVP变换矩阵推导”中首先进行了Model transformation, 也就是摆放好物体(对象);然后就是View transformation摆放好相机(位置,拍摄方向,视场角等);最后就是Projection transformation, 这里面包含有正交投影(Orthogtaphic projection)它是将长方体(cuboi……
阅读全文
2020年2月15日
本文是games101课程的第3,4课的相关笔记,这篇内容对于CG非常的重要!!!特别是推导的过程,非常有必要手推一遍!。所谓的MVP变换就是:model-view-project变换。本文中使用的向量均表示的是列向量,在公式推导的过程中要注意第一点。 首先我们回想下我们在拍班级毕……
阅读全文
2020年2月6日
本文是games101课程的第1,2课的相关笔记。这两课的内容比较基础,大学中有线性代数的学习经验就相对非常容易理解。 1. 计算机图形学概述 计算机图形学(Computer Graphics,CG)是研究计算机在硬件和软件的帮助下创建计算机图形的学科,是计算机科学的一个分支领域,主要关注……
阅读全文
2020年2月5日
使用过Java, Python或者go这些语言然后切换到C++的同学很可能遇到一个问题就是:为什么在C++的string类里面为什么没有提供一个split函数呢? 猜测可能有下面几个原因: split之后的结果存放在哪里呢?vector?但是string类中引入vector势必会造成s……
阅读全文
2020年2月2日
1. 线程的创建 C++11中提供了thread类可以直接用来创建线程,创建步骤: 包含thread所在的头文件 #include <thread> 在需要的地方直接创建一个thread对象,构造函数中传入一个线程入口函数(或者是一个可调对象)。(普通函数,lambda表达式,重载了()的类都可以传入,普通类成员函数也可……
阅读全文
2020年1月3日
简介: 首先进行双目摄像头定标,获取双目摄像头内部的参数后,进行测距;本文的双目视觉测距是基于BM算法。注意:双目定标的效果会影响测距的精准度,建议大家在做双目定标时,做好一些(尽量让误差小)。 前言 首先进行双目摄像头定标,获取双目摄像头内部的参数后,进行测距;本文的双目视觉测距是基……
阅读全文
2020年1月3日
在双目立体匹配中,有基于SAD算法的BM、SGBM、GC立体匹配技术,但是在OpenCv3.0以后,GC算法就从legacy中去除掉了。为了查看三种算法的匹配效果及运算性能,我在Windows10中安装了OpenCv2.4.9,并以VsCode为IDE进行程序编写。 一、VsCod……
阅读全文