max-mapper / voxel-engine

3D HTML5 voxel game engine
http://maxogden.github.com/voxel-engine
BSD 3-Clause "New" or "Revised" License
1.29k stars 220 forks source link

Forcing master branch to render blocks #121

Open andrewtheone opened 8 years ago

andrewtheone commented 8 years ago

I opened this ticket because my other ticket #120 seems to be unsolvable, due to shader problems im not experienced with.

My problem is that my project has to have transparent blocks, or partially transparent, my question is, where does the master branch determines if a block should be rendered or not? I'm guessing it has to be somewhere at raycasting but im not feeling sure..

andrewtheone commented 8 years ago

So guys what i found out, is that the newst 0.75.0 ThreeJS does display transparent textures correctly, however if i add a three js mesh with transparent texture to the scene in voxel-engine it doesnt display correctly, so my suggestion would be to upgrade three js, but when i tried to do that a lot of error message showed up. I'd try to debug them, but i have to know that this transparent-bug is related to old three.js version or some other code snippet?

deathcap commented 8 years ago

voxel-engine (three.js-based version) currently depends on https://www.npmjs.com/package/three version 0.56.0, unfortunately updating three.js versions is non-trivial because of a) API incompatibilities, requiring code changes to migrate: https://github.com/mrdoob/three.js/wiki/Migration b) peer dependencies, requiring other modules to simultaneously update e.g. voxel-view: https://github.com/maxogden/voxel-engine/pull/74 c) old versions on npm (0.73.0 is latest released module, though I see https://github.com/mrdoob/three.js/releases also shows r73 as the latest not 0.75.0.. hmm, looks like they are in sync now, well, this was more of a problem in the past, but nonetheless, this package is not "official" see https://github.com/mrdoob/three.js/issues/7068 and does not use semver, causing difficulty integrating with the rest of the npm ecosystem).

For these reasons, https://github.com/voxel/voxel-engine-stackgl was created (formerly known as voxel-engine#ndarray), built on top of the http://stack.gl/ suite of npm modules. GH-120 should be solved in voxel-engine-stackgl 1.0.1, I believe.