ok one more before i head to bed just to show that it can do more interesting things than just large rectangles made up of smaller cubes
okay so this may seem a little unorthodox but bear with me here
what if
shell texturing in block game
after endless futzing about and tweaking i think i have something that may just be workable for this faux bevel effect i want
(note that there's a "bevel" between adjacent blocks cause i haven't made the effect dependent on the block's neighbors yet)
I dunno I'm just not feeling the actual lighting model. Its not like minecraft exactly has realistic lighting anyway: blocks are lit from two opposite sides!
But the problem with baked lighting is if you have non symmetrical blocks you have to make 4 versions of each face to get all the lighting. Not that that's super onerous
Also if I made something like a lectern that would be a lot of work to do manually for each orientation
ok i figured out a reasonable way to fudge the normals so i won't have to manually bake lighting. basically what i do is set the normals of the edges so that they point towards where the adjacent faces are pointing (90 degree bend) and then i lerp from the face's lighting factor to the neighbor's lighting factor
that gives me the result on the left. i tried just having regular, actual normals, but it creates artifacts like on the right (its accurate that it shades it like that but it looks bad)
i've brought back the grass, which is actually an obj model
see i made an engine before and appropriated it for this project. it could load obj models (with normal maps) so at first the blocks in my world were actually loaded from obj models
that's why i had to redo a buncha stuff to add the bevelling, since i had to generate the faces myself
had a silly idea for block outlines using the bevel system. i take the dot product of the vector from the camera to the world position with the normal to determine if the bevel normal is pointing away from the camera, then add an outline based on that. there's some outlines where they don't belong but i can get easily rid of those
... i don't hate it? š¤
lol the outlining has more than doubled the code in my fragment shader
texturing, lighting, and bevelling: 12 lines of code
just doing outlines: 19 lines of code
On the other hand I guess it would be fair to say these graphics are looking a little...... muddy
Eh? Eh? Eh? :D
@eniko I'm not sure... I'd tone down the contrast for sure. Those black lines are a bit jarring to me.
Could it be something that happens naturally when certain side textures are side by side? If you're using the same texture for all sides then it's not very practical.
@eniko I'm just speculating because I don't know much about this.
I was wondering if it was possible to define different textures for each sides, you may be able draw the textures in such a way to enhance the edges when, for example, the front of a cube meets the side of another to form a concave shape.