Dan Fessler

14.7K posts

Dan Fessler banner
Dan Fessler

Dan Fessler

@DanFessler

Dev by day, artist by night / Senior Engineer @Roblox / prev. CCO @incite_dev, CVO @CoreGames

Pacifica, CA Katılım Ekim 2008
1.8K Takip Edilen12K Takipçiler
Dan Fessler
Dan Fessler@DanFessler·
@StarvingFoxStd Both are precomputed so they’re the same at runtime. Definitely more expensive to pre-compute this than default because the default is just instanced cubes with the same normal information
English
1
0
1
71
Dan Fessler
Dan Fessler@DanFessler·
considering a voxel lighting algorithm that lights each voxel a uniform amount based on a calculated normal instead of using the cubic faces of each voxel. Got a proof of concept working but now need better demo assets. Anyone have pixel-art quality voxel assets for me to try?
Dan Fessler tweet media
English
55
76
2.5K
96.7K
snkz
snkz@snkz·
@DanFessler have you written about your implementation anywhere? id really like to try to reproduce this in my own engine
English
1
0
0
121
El Kiwi ¹⁴🥝🛶
El Kiwi ¹⁴🥝🛶@elnanokiwi·
@DanFessler Yeah, 100%, but for big scenes it has to look cool af One could probably try to mix both styles for edge cases but implementing this directly into a Minecraft shader may look rather cool for big builds/cities etc.
English
1
0
0
33
Dan Fessler
Dan Fessler@DanFessler·
@thelazyforger I’m not constructing a surface mesh in this process - but the goal isn’t to make a smooth mesh anyway, it’s to embrace the voxels
English
0
0
0
88
The Lazy forger
The Lazy forger@thelazyforger·
@DanFessler It works well already (I'm working on something similar, although for a different purpose).... but once you have meshes anways, what's stopping you from implementing the marchin cubes algorithm?
English
1
0
1
573
Dan Fessler
Dan Fessler@DanFessler·
@HBthisistempo Ah I think I see. I actually think you can have hard specular with this setup as it is. I’ll have to post an example later
English
0
0
1
6
Hb
Hb@HBthisistempo·
@DanFessler Well, your way of lightning smoothes the lightning, the face one makes it harder (in my perception), so you could have smoother materials vs things like metal and all the in betweens
English
1
0
0
21
Hb
Hb@HBthisistempo·
@DanFessler Idea: could the face based be the "specular" and that way you can have a material going from your soft lightning to the specular one
English
1
0
0
105
Dan Fessler
Dan Fessler@DanFessler·
@elnanokiwi Probably not the best fit for Minecraft to be honest - this is best when the voxels are small
English
1
0
0
149
El Kiwi ¹⁴🥝🛶
El Kiwi ¹⁴🥝🛶@elnanokiwi·
@DanFessler Curious to see how this looks in Minecraft Because it'll obviously fail for some cases (like 1-block-thick walls or ceilings) but for landscapes it may actually be fire
English
1
0
0
188
Dan Fessler
Dan Fessler@DanFessler·
@LincolnMargison If using hard edges the problem becomes “how do you tile the area without discontinuities or gaps” - cubes solve that nicely. Seems like Comanche solved it by oversizing the voxel squares?
English
1
0
0
34
Dan Fessler
Dan Fessler@DanFessler·
@LincolnMargison Starts to resemble Gaussian splatting how you’re describing it. Probably could would but loses the pixel art charm that most people love the medium for
English
1
0
1
469
Lincoln Margison - Game Development
Interesting. Could you not eliminate the blocky look entirely by instead of rendering a cube, you're rendering a circle (with soft edges so it blends to the next) which is camera-facing but has the normal as the same average you're using here? And scale the circle size based on the screenspace size of the cube?
English
1
0
0
702
Dan Fessler
Dan Fessler@DanFessler·
@crytr_ You’re right this has a flaw with 1 voxel-thick elements. Since the voxel is just one value and represents two opposite facing directions then it’s undefined what it should do. I have a few solutions in my head but haven’t fully tried them yet
English
0
0
2
239
crytra
crytra@crytr_·
@DanFessler Does this cause light leaking on thin adjacent shapes? What happens with one voxel thick walls? 🤔
English
1
0
1
325
Dan Fessler
Dan Fessler@DanFessler·
@RefinedLurk I sample the neighboring voxels in a kernel to derive the surface normal
English
0
0
6
1.6K
Refined Lurker
Refined Lurker@RefinedLurk·
@DanFessler Then don’t you need some kind of parametric representation to derive the Normal from? At which point is voxel efficient? I guess a voxel could always be a subset of a parametric shape
English
1
0
0
1.7K
Dan Fessler
Dan Fessler@DanFessler·
@timsoret Nice I was wondering if you were doing something like that. I’ve seen a. Few people independently arrive at similar solutions but it’s a shame the voxel editors themselves don’t support this as a standard rendering mode
English
1
0
0
233
Tim Soret
Tim Soret@timsoret·
@DanFessler Something I also developed for The Last Night! It's the only way I could get lit animated 3D trunks & branches with a pixel art silhouette without the staircase look of voxels. You can't see it here in this GIF, but trunk voxels have smooth normals. x.com/timsoret/statu…
Tim Soret@timsoret

English
1
0
8
521
Dan Fessler
Dan Fessler@DanFessler·
@ARSONIST_WOLF Nice I’ll take a look. I think I need higher resolution assets though for this rendering to really show utility
English
1
0
5
964
Dan Fessler
Dan Fessler@DanFessler·
@JoeSorgea Yeah I’m leaning towards the middle too. Nice middle ground while keeping a crisp pixel aesthetic
English
0
0
5
1.3K
Joe Sorgea
Joe Sorgea@JoeSorgea·
@DanFessler I think the one in the middle looks really cool. The one on the right looks a little too simple
English
1
0
2
1.5K
Dan Fessler
Dan Fessler@DanFessler·
@jere_codes Oh nice this is great. Yeah ideally this would be a rendering mode in magicavoxel or something but not sure if that’s feasible to extend. Might have to make my own editor
English
1
0
26
3.7K