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