荒废了太久,趁着“寒假”死磕了两周,验证了不少想法,解开了不少疑惑,代码质量当然是没有的,一切只为看到结果。

有空了再写每一项的细节。

源码地址

2019/5/12 更新

延迟渲染

GBuffer
世界坐标

世界法线

漫反射

300个点光源

2019/3/6 更新

优化了光源,阴影以及我自己做了一个模型emm...

当我打开3DMax的时候,时间拉回到大约7年前,这是我上一次打开3DMax的时间,当时我在学校机房进行3DMax期末考试,一顿操作猛如虎,定睛一看,一片糊,于是我默默的双击了桌面的CS图标。时间拉回来,我把刚装好的3DMax卸载了,一顿操作行云流水。

2019/2/26 更新

HDR

未开启HDR,亮度超出范围,色彩丢失

开启HDR,整体亮度变暗

法线贴图

应用法线贴图前

应用法线贴图后

视差贴图

原图

仅有法线贴图,没有视差贴图

应用视差贴图后

泛光

关闭泛光渲染

亮度贴图

2019/2/2 更新

标准光照模型

带贴图

多纹理

双纹理混合

放射光贴图

光源

描边

天空盒子

反射

折射

没有反射贴图

加入反射贴图

渲染实例化数组

1秒6千个模型渲染

1秒12万个模型渲染

后期处理

几何着色器

膨胀模型

显示法线

不透,全透,半透贴图渲染

没有忽略草丛贴图空白区域

渲染顺序错误

正确渲染

多相机渲染

方向光阴影(阴影映射)

256分辨率阴影贴图未平滑

平滑后

512分辨率阴影贴图未平滑

平滑后

1024分辨率阴影贴图未平滑

平滑后

动态光源

两个方向光源

阴影贴图

聚光灯阴影(阴影映射)

点光源阴影(点阴影)

阴影立方体贴图

计算机图形——OpenGL的更多相关文章

  1. opengl中相关的计算机图形变换矩阵之:模型视图几何变换

    3. 二维变换矩阵 x'      a11 a12 a13    x         a11x a12y a13z y' =  a21 a22 a23     y    =  a21x a22y a2 ...

  2. opengl中相关的计算机图形变换矩阵之:齐次坐标 (摘编)

    模型视图变换(几何变换)矩阵: 1. 齐次坐标:两条平行线也可以相交. 在欧几里得空间中,两条平行线是无法相交的,但是在投影空间(Projective Space)这条定理就不再适用了. 比如上图中, ...

  3. 【OpenGL】 第一篇 OpenGL概览

    ---------------------------------------------------------------------------------------------------- ...

  4. opengl入门学习

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

  5. OpenGL 坐标与矩阵转换

    1. OpenGL 渲染管线 OpenGL渲染管线分为两大部分,模型观测变换(ModelView Transformation)和投影变换(Projection Transformation).做个比 ...

  6. Atitit.计算机图形图像图片处理原理与概论attilax总结

    Atitit.计算机图形图像图片处理原理与概论attilax总结 计算机图形1 图像处理.分析与机器视觉(第3版)1 数字图像处理(第六版)2 图像处理基础(第2版)2 发展沿革 1963年,伊凡·苏 ...

  7. OpenGL基础图形编程

    一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充 ...

  8. OpenGL基础知识

    基本概念 透视(Perspective)变换(Transformation)投影矩阵(Projection Matrix):用于将3D坐标转换为2D屏幕坐标光栅化(Rasterization): 实际 ...

  9. OpenGL图形管线和坐标变换[转]

    1. OpenGL 渲染管线 OpenGL渲染管线分为两大部分,模型观测变换(ModelView Transformation)和投影变换(Projection Transformation).做个比 ...

随机推荐

  1. 洛谷 P2568 GCD

    https://www.luogu.org/problemnew/show/P2568#sub 最喜欢题面简洁的题目了. 本题为求两个数的gcd是素数,那么我们将x和y拆一下, 假设p为$gcd(x, ...

  2. MySQL查询显示连续的结果

    #mysql中 对于查询结果只显示n条连续行的问题# 在领扣上碰到的一个题目:求满足条件的连续3行结果的显示 X city built a new stadium, each day many peo ...

  3. java中的final关键字(2013-10-11-163 写的日志迁移

     final关键字:修饰符,表示最后的.最终的    修饰类: 表示该类不能派生子类(不能被继承)   1.当不希望父类的的某个方法被子类覆盖(override)时,可以用final关键字来修饰.   ...

  4. R-data.table

    data.table可以扩展和增强data.frame的功能,在分组操作和组合时访问速度更快. require(data.table) theDT = data.table(A=1:10, B=let ...

  5. 转:跟我一起写Makefile (PDF重制版)

    原文地址:http://seisman.info/how-to-write-makefile.html 其它一些问题  不妨看一下:http://blog.csdn.net/huyansoft/art ...

  6. HDU:5040-Instrusive

    Instrusive Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Proble ...

  7. UVa 12167 & HDU 2767 强连通分量 Proving Equivalences

    题意:给出一个有向图,问最少添加几条有向边使得原图强连通. 解法:求出SCC后缩点,统计一下出度为0的点和入度为0的点,二者取最大值就是答案. 还有个特殊情况就是本身就是强连通的话,答案就是0. #i ...

  8. Makefile基础(二)

    上一章:C语言之Makefile基础(一) 上一章的Makefile写的中规中矩,比较繁琐,是为了讲清楚基本概念,其实Makefile有很多灵活的写法,可以写的更简洁,同时减少出错的可能 一个目标依赖 ...

  9. Spring学习总结(20)——Spring加载多个项目properties配置文件问题解决

    多数的鲜为人知方法都是因为有着罕见的应用,就比如说Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spri ...

  10. selenium - 弹出框操作

    # 6. 弹出框操作 # 6.1 页面弹出框操作# 页面弹出框 是一个html页面的元素,由用户在页面的操作触发弹出# (1)执行触发操作之后,等待弹出框出现之后,# (2)再定位弹出框中的元素并操作 ...