摘要: Lua的generic for是一个很好用的语法糖,它为我们隐藏了迭代器背后的细节,使用起来非常简单: local l = {1, 2, 3} for k, v in ipairs(l) do print("k, v ", k, v) end local t = {["a"] = 1, ["b"] 阅读全文
posted @ 2021-02-28 15:04 异次元的归来 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 我们只需要为透明的object设置一个新的pipelineStateObject即可。和不透明的object相比,就是额外设置了blend state: D3D12_RENDER_TARGET_BLEND_DESC blendDesc; blendDesc.BlendEnable = true; b 阅读全文
posted @ 2021-02-23 23:53 异次元的归来 阅读(94) 评论(0) 推荐(0) 编辑
摘要: detail texture 如果单纯地使用一张texture,在摄像机距离很近的时候,会因为放大的原因导致走样严重,这时可以叠加一个detail texture,该texture使用一定数量的tiling值,使得即使放大到很近,细节也很丰富。 detail map一般是灰度的,即color值在0. 阅读全文
posted @ 2021-01-29 15:33 异次元的归来 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 这次让我们来看看如何在DirectX12中使用Texture。由于我们创建的texture最终是和const buffer一样,存放在同一个DescriptorHeap中的,所以有必要在之前的基础上扩充一下heap的大小: mCbvSrvHeapIncSize = mDevice->GetDescr 阅读全文
posted @ 2021-01-23 13:57 异次元的归来 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 我们之前实现了自己版本的require,首先认定为lua模块尝试加载,如果加载不成功则认定为C模块继续进行加载。实际上,在Lua内部,是通过searchers来区分不同的加载方式。Lua一共有4种searchers,用来加载lua模块的和加载C模块的分别是第2个和第3个。第1个searcher叫做p 阅读全文
posted @ 2021-01-22 22:58 异次元的归来 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 本文参考自教程,并加上了自己的一些心得体会。之前的文章里有实现一些水的shader,我们可以在此基础上进行修改。首先,我们需要把原先不透明的shader改成透明的shader: Tags { "Queue" = "Transparent" "RenderType"="Transparent" } Z 阅读全文
posted @ 2020-12-24 00:15 异次元的归来 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 这题出自LeetCode,题目如下: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 示例 1: 输入: 1 输出: [0.16667,0 阅读全文
posted @ 2020-12-19 16:40 异次元的归来 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 这次我们来用DirectX12实现一下基本的Blinn Phong光照模型。让我们再把这个光照模型的概念过一遍:一个物体的颜色由三个因素决定:ambient, diffuse, specular。ambient表示场景中的其他物体反射出来的光线到该物体所呈现的颜色,与摄像机所在的位置无关;diffu 阅读全文
posted @ 2020-12-08 22:20 异次元的归来 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 在游戏开发中会经常使用到lua作为游戏逻辑层的脚本语言,各种优势就不说了,虽然平时用的比较多,但对lua语言本身和内部的一些实现并不是很了解,让我们先从lua的require入手来一探require的各种用法吧。 require其实类似与C/C中的#include,就是加载一个指定名称的模块进来,该 阅读全文
posted @ 2020-11-27 23:19 异次元的归来 阅读(1401) 评论(0) 推荐(0) 编辑
摘要: 本文参考自教程,并加上自己的一些心得体会。要想模拟现实中的波浪效果,首先我们需要对顶点的y坐标进行偏移,并且希望y坐标能随着时间变化而流畅变化,形成一种波的曲线。那么,自然而然地,我们想到了三角函数(sin、cos)来实现效果: v.vertex.y = sin(v.vertex.x + _Time 阅读全文
posted @ 2020-11-04 14:21 异次元的归来 阅读(275) 评论(0) 推荐(0) 编辑