摘要: 如果我们希望不同的物体使用不同的材料,则需要进行设计决策。我们可以使用具有许多参数的通用材料,而将不同的材料类型仅将其中一些参数归零。这不是一个坏方法。或者我们可以有一个抽象的材料类来封装行为。我是后一种方法的粉丝。对于我们的程序,材料需要做两件事: 产生散射射线(或说它吸收了入射射线)。 如果散射 阅读全文
posted @ 2021-05-22 20:58 shadow_lr 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 不发光的漫射对象仅具有周围环境的颜色,但是会使用其自身的固有颜色对其进行调制。从散射表面反射的光的方向随机化。因此,如果我们将三束光线发送到两个扩散表面之间的裂缝中,它们将具有不同的随机行为: 8.1.A Simple Diffuse Material( 一种简单的扩散材料) 不发光的漫射对象仅具有 阅读全文
posted @ 2021-05-20 13:55 shadow_lr 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 先上效果图 shader所用的贴图资源 扰动 直接对uv进行变换就可以了,记得首先把六边形格子地图的Tilling调高点 先预先调成合适大小的六边形,然后repeat铺满整个护盾 // Tiles and offsets the value of input UV by the inputs Til 阅读全文
posted @ 2021-05-20 08:44 shadow_lr 阅读(663) 评论(1) 推荐(3) 编辑
摘要: 阅读全文
posted @ 2021-05-19 22:20 shadow_lr 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 背景介绍(学习算法之前需要先了解) 射线与空间内三角形的相交检测是游戏程序设计中一个常见的问题,最典型的应用就是拾取(Picking),本文介绍一个最常见的方法,这个方法也是DirectX中采用的方法,该方法速度快,而且存储空间少。先讲述理论,然后文章末尾给出对应的代码实现与Unity中的显示。 简 阅读全文
posted @ 2021-05-18 20:55 shadow_lr 阅读(2082) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-05-14 20:02 shadow_lr 阅读(809) 评论(0) 推荐(0) 编辑
摘要: 看了吴咏炜老师的现代C++实战30讲,又补充到了一些新知识 为什么不要返回本地变量的引用 vector容器 emplace系列函数如何提升容器的性能 为什么不要返回本地变量的引用 有一种常见的 C++ 编程错误,是在函数里返回一个本地对象的引用。由于在函数结束时本地对象即被销毁,返回一个指向本地对象 阅读全文
posted @ 2021-05-14 13:37 shadow_lr 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 参考博文 C++ RAII机制详解:https://blog.csdn.net/yyxyong/article/details/76099721 现代 C++:一文读懂智能指针:https://zhuanlan.zhihu.com/p/150555165 假设没有智能指针会怎么样 在介绍智能指针之前 阅读全文
posted @ 2021-05-10 23:39 shadow_lr 阅读(760) 评论(0) 推荐(1) 编辑
摘要: 判断点是否在凸多边形内 这个判断比较的简单,只需要按一定顺序遍历三角形顶点,与红点进行连线,按照顺时针或逆时针进行叉乘 bool PointIsInPolygon() { int j = points.Length - 1; bool oddNodes = false; for (int i = 0 阅读全文
posted @ 2021-05-10 10:45 shadow_lr 阅读(2164) 评论(0) 推荐(0) 编辑
摘要: 前言 在探讨c++11中的Move函数前,先介绍两个概念(左值和右值) 左值和右值 首先区分左值和右值 左值是表达式结束后依然存在的持久对象(代表一个在内存中占有确定位置的对象) 右值是表达式结束时不再存在的临时对象(不在内存中占有确定位置的表达式) 便携方法:对表达式取地址,如果能,则为左值,否则 阅读全文
posted @ 2021-05-09 18:57 shadow_lr 阅读(48898) 评论(7) 推荐(11) 编辑