diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /thirdparty/stb/tests/caveview/README.md | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'thirdparty/stb/tests/caveview/README.md')
| -rw-r--r-- | thirdparty/stb/tests/caveview/README.md | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/thirdparty/stb/tests/caveview/README.md b/thirdparty/stb/tests/caveview/README.md new file mode 100644 index 0000000..10da838 --- /dev/null +++ b/thirdparty/stb/tests/caveview/README.md @@ -0,0 +1,85 @@ +# FAQ + +### How to run it? + +There's no GUI. Find a directory with Minecraft Anvil files (.mca). +Copy a Minecraft "terrain.png" into that directory (do a google +image search). Run from that directory. + +### How accurate is this as a Minecraft viewer? + +Not very. Many Minecraft blocks are not handled correctly: + +* No redstone, rails, or other "flat" blocks +* No signs, doors, fences, carpets, or other complicated geometry +* Stairs are turned into ramps +* Upper slabs turn into lower slabs +* Wood types only for blocks, not stairs, slabs, etc +* Colored glass becomes regular glass +* Glass panes become glass blocks +* Water is opaque +* Water level is incorrect +* No biome coloration +* Cactus is not shrunk, shows holes +* Chests are not shrunk +* Double-chests draw as two chests +* Pumpkins etc. are not rotated properly +* Torches are drawn hackily, do not attach to walls +* Incorrect textures for blocks that postdate terrain.png +* Transparent textures have black fringes due to non-premultiplied-alpha +* Skylight and block light are combined in a single value +* Only blocks at y=1..255 are shown (not y=0) +* If a 32x32x256 "quad-chunk" needs more than 800K quads, isn't handled (very unlikely) + +Some of these are due to engine limitations, and some of +these are because I didn't make the effort since my +goal was to make a demo for stb_voxel_render.h, not +to make a proper Minecraft viewer. + + +### Could this be turned into a proper Minecraft viewer? + +Yes and no. Yes, you could do it, but no, it wouldn't +really resemble this code that much anymore. + +You could certainly use this engine to +render the parts of Minecraft it works for, but many +of the things it doesn't handle it can't handle at all +(stairs, water, fences, carpets, etc) because it uses +low-precision coordinates to store voxel data. + +You would have to render all of the stuff it doesn't +handle through another rendering path. In a game (not +a viewer) you would need such a path for movable entities +like doors and carts anyway, so possibly handling other +things that way wouldn't be so bad. + +Rails, ladders, and redstone lines could be implemented by +using tex2 to overlay those effects, but you can't rotate +tex1 and tex2 independently, so there may be cases where +the underlying texture needs a different rotation from the +overlaid texture, which would require separate rendering. +Handling redstone's brightness being different from underlying +block's brightness would require separate rendering. + +You can use the face-color effect to do biome coloration, +but the change won't be smooth the way it is in Minecraft. + + +### Why isn't building the mesh data faster? + +Partly because converting from minecraft data is expensive. + +Here is the approximate breakdown of an older version +of this executable and lib that did the building single-threaded. + +* 25% loading & parsing minecraft files (4/5ths of this is my crappy zlib) +* 18% converting from minecraft blockids & lighting to stb blockids & lighting +* 10% reordering from data[z][y]\[x] (minecraft-style) to data[y][x]\[z] (stb-style) +* 40% building mesh data +* 7% uploading mesh data to OpenGL + +I did do significant optimizations after the above, so the +final breakdown is different, but it should give you some +sense of the costs. + |