- 博客(4)
- 收藏
- 关注
转载 光线追踪(RayTracing)算法理论与实践(三)光照
提要经过之前的学习,我们已经可以在利用光线追踪实现一些简单的场景。今天我们要探讨的是图形学里面的三种基本光源:方向光源,点光源,聚光灯。不同于利用现成的Api,这次会从理论到实际一步步用C++实现。前提工作在老师的建议下,我将图形引擎换成了SDL,最终的渲染效果比之前的好了很多,原来的GLFW虽然能够很好的兼容OpenGL,但并没提供对像素的控制,而SDL有Surface。对与GLFW,本人觉得其...
2018-06-17 19:19:32 1558
转载 光线追踪(RayTracing)算法理论与实践(二)平面、材质、联合光线与物体求交
提要经过上次的学习,我们已经可以建立一个简单的光线追踪的场景,接下来,我们继续我们的征程。今天要得到的最终效果如下:光线与物体求交在光线追踪算法中,最重要的就是求光线与物体的相交,也就是实现IntersectResult Object::isIntersected(CRay _ray)方法。 因为我求得交点之后就可以对该点的像素进行计算,然后显示,后续的很多效果(透明,反射....)还有算法的优...
2018-06-17 19:18:45 1398
转载 光线追踪(RayTracing)算法理论与实践(一)入门
提要本文先介绍光线追踪的理论,然后着重一步一步来搭建渲染场景,从最基本的向量类开始.采用的语言是c++,利用面向对象的思想,一些基础的线性代数和空间几何的知识也会用到,编程的框架用的是GLFW,渲染用到的是OpenGL。原理光线追踪,简单地说,就是从摄影机的位置,通过影像平面上的像素位置(比较正确的说法是取样(sampling)位置),发射一束光线到场景,求光线和几何图形间最近的交点,再求该交点的...
2018-06-17 19:16:09 1920
转载 光线跟踪(RayTracing)原理及c++实现
Chapt1. Why to write a RayTracing Render提到Computer Graphics,众所周知的是如OpenGL、Direct3D这样非常流行的光栅化渲染器。事实上,这些大部分应用于游戏制作的API主要为实时渲染(Real-time Rendering)而设置,而它们所采用的光栅化(Rasterization)的渲染方式,通过渲染大量的三角形(或者其他的几何图元种...
2018-06-17 15:58:20 6735 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人