- 博客(22)
- 收藏
- 关注
原创 filament里的Blob和Handle,把vector当内存使用和管理对象
filament继续看,对象是如何管理的。。Blob就是vector<uint8_t>HandleMap 是无序map,HandleId是uint32_t也就是对象的数据放在Blob里,生成一个id,而Handle继承HandledBase,里面就一个成员是HandleId的object,好显然这个就是object 的键值分配是先加锁,然后Dp是分配的类型,B是父类或者是接口,把Blob放到map里,且blob的大小和分配的类型一样大,然后返回没什么好说的二进制数据.
2020-06-22 23:14:57 287
原创 vk 用gl_VertexIndex 生成quad 的uv以及覆盖窗口的三个顶点
vkdemo里看到了这么一行pipeline 的顶点输入配置的是空。。没有顶点输入。绘制指令是画三个顶点。。然后就翻到了vkdemo的作者的博文https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/大概就是绘制三个顶点那么gl_VertexIndex 是0、1、2vk ndc 是右手系的。那么这波位操作后的uv分别是(.
2020-06-22 17:48:31 1415
原创 Vulkanised 2018 的barrier笔记
GPU是高度并行的,并行的读,并行的写,整个管线阶段也是并行执行的,当对一个三角形着色时,在写到片元时,无法预测他们的顺序,所以图形管线实际上是一个一系列并行的阶段。tiled gpu在光栅化时,每个tiled相互独立一个tile的片元可能比之前进入的要更早着色(乱序)vertex cache miss时,vertex shaders可能重复执行,但是但是。。在到了混合阶段,写入到frame buffer时可以保证顺序是按照vertex读入顺序的。。Linear memo..
2020-06-20 21:42:48 348
原创 搬旧档和oneNote内容
之前注册的信息轻松查到现实信息,赶紧把号注销了,快照申请删了,后来发现oneNote挺好的,不过最近想在上面记点laTex发现实在太痛苦了,typora里写的复制都复制不进去,win10版本和标准版同步还有点问题,思来想去还是把东西搬上来好做记录同步。...
2020-06-18 13:08:06 136
原创 排查bug,从法线到renderdoc,再到nsight,最后居然是交换链image format不同。。
3月左右,想着把learnopengl 里pbr章节的东西在vk里做一下,vk官方demo也有pbr的基础demo,最后还是从uvSphere生成球结点开始,发现生成的球正常应该两个三角形组成一个球,结果两个三角形一部分重叠了,整个球非常奇怪,最后在查,没记错好像在gamedev里翻到了个正确的算法,很好,开始着色shader,写完了发现结果非常的白,ambient同官方一样却非常的高,相邻sphere,不同金属都和粗糙度的球光照结果非常不正常,第一个想法是会不会法线生成有点问题?把官方demo的geome
2020-06-18 13:06:26 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人