文件名称:octrend:八叉树、C 和 OpenGL 渲染实验(来自阁楼,2009 年)
文件大小:4.01MB
文件格式:ZIP
更新时间:2024-07-16 05:43:07
C
八月趋势 马克西米利安·谢尔,2006- 我曾经对体素引擎很感兴趣,并且为了练习一些 C 和 OpenGL(我都已经忘记或已经弃用了这两者),我写了一些关于体素作为立方体的真正朴素的体积渲染将如何进行的实验。 由于使用了八叉树数据结构,细节级别用于加速并且非常容易实现。 这是从阁楼上出来的(从 2009 年开始,从 2006 年开始使用 octree.c)并且充满了错误和蜘蛛网。 原型 (./protoype) 此实现使用直接模式,并且是最好的文档。 示例场景: 远一点: 更近: 带阴影的光(非常慢!): 另一个影子: 慢立方体、快速立方体、着色器(./slowcubes、./fastcubes、./shader) 这些实现稍微简单一些,并且使用顶点列表而不是直接模式。 慢速多维数据集和快速多维数据集的区别在于后者使用了查找表。 着色器实现使用平面正方形而不是立方体进行
【文件预览】:
octrend-master
----maps()
--------heightmapbig.bmp(3MB)
--------heightmapsmall.bmp(192KB)
--------heightmap.bmp(768KB)
--------texmapbig.bmp(3MB)
--------texmapsmall.bmp(192KB)
--------texmap.bmp(768KB)
----screenshot4.png(37KB)
----screenshot1.png(40KB)
----shader()
--------Makefile(291B)
--------linalg.h(1KB)
--------render.h(855B)
--------scene.c(5KB)
--------voxel.h(2KB)
--------voxel.c(45KB)
--------linalg.c(5KB)
--------main.c(16KB)
--------scene.h(1KB)
--------render.c(14KB)
----slowcubes()
--------Makefile(291B)
--------linalg.h(1KB)
--------render.h(798B)
--------scene.c(5KB)
--------voxel.h(2KB)
--------voxel.c(45KB)
--------linalg.c(5KB)
--------main.c(16KB)
--------scene.h(1KB)
--------render.c(12KB)
----models()
--------wtc.vox(598KB)
--------NOTICE.md(66B)
--------spring.vox(65KB)
--------globe.vox(2MB)
--------desklamp.vox(55KB)
--------cac.vox(407KB)
----screenshot7.png(53KB)
----screenshot5.png(131KB)
----README.md(2KB)
----prototype()
--------rendering.c(33KB)
--------octree.h(7KB)
--------Makefile(304B)
--------linalg.h(3KB)
--------scene.c(8KB)
--------voxel.h(880B)
--------voxel.c(11KB)
--------rendering.h(1KB)
--------octree.c(68KB)
--------linalg.c(8KB)
--------main.c(16KB)
--------scene.h(2KB)
----screenshot6.png(388KB)
----fastcubes()
--------Makefile(291B)
--------linalg.h(1KB)
--------render.h(797B)
--------scene.c(5KB)
--------voxel.h(2KB)
--------voxel.c(45KB)
--------linalg.c(5KB)
--------main.c(16KB)
--------scene.h(1KB)
--------render.c(12KB)
----screenshot2.png(39KB)
----screenshot8.png(74KB)
----screenshot0.png(76KB)
----screenshot3.png(71KB)