got a scaling window going, yay
-
RE: https://mastodon.gamedev.place/@eniko/116148962722154130
got a scaling window going, yay
-
RE: https://mastodon.gamedev.place/@eniko/116148962722154130
got a scaling window going, yay
@eniko blue noise 😏
-
RE: https://mastodon.gamedev.place/@eniko/116148962722154130
got a scaling window going, yay
looks like fensters has bugs on windows, that's unfortunate
i managed to resolve the window size one via code from an open issue, but, don't think i can recommend this for windows sadly
-
RE: https://mastodon.gamedev.place/@eniko/116148962722154130
got a scaling window going, yay
@eniko can I just have CDE from my old SunOS sparcstation ? Does that make me old and archaic ?
-
looks like fensters has bugs on windows, that's unfortunate
i managed to resolve the window size one via code from an open issue, but, don't think i can recommend this for windows sadly
heck yea! triangle!
-
undefined oblomov@sociale.network shared this topic on
-
heck yea! triangle!
@eniko best shape!
-
heck yea! triangle!
@eniko this reminds me of an old tale about the playstation (1) devs getting excited over a triangle on screen. It was a moment of great importance
-
heck yea! triangle!
@eniko Vulkan "Eniko Edition" looks good so far!
-
heck yea! triangle!
debug rendering tiles that are skipped because they're known to be blank
-
heck yea! triangle!
@eniko Game Devs just want one thing and it's disgusting.
-
debug rendering tiles that are skipped because they're known to be blank
debug rendering tiles that are skipped (red) and tiles that can do a fast path (cyan) because they're known to be fully covered and fully within the viewport, so they can skip inside/outside and pixel clipping checks
-
debug rendering tiles that are skipped (red) and tiles that can do a fast path (cyan) because they're known to be fully covered and fully within the viewport, so they can skip inside/outside and pixel clipping checks
@eniko is that larger phase a "coarse triangle rasterizer" part of the "fine triangle rasterizer"?
-
@eniko is that larger phase a "coarse triangle rasterizer" part of the "fine triangle rasterizer"?
@fabiosantoscode sort of? i'm not actually splitting the triangle or anything
i step through the bounding box in 8x8 tiles and check the corners to see if all corners of the tile are either fully outside any given edge, in which case they're blank and i can skip the pixel by pixel rendering
and if all corners are inside the triangle (and the viewport) then i know i can do the fast path
then for each pixel in the 8x8 tile i plot the pixel if it's inside the triangle/viewport
-
@eniko Vulkan "Eniko Edition" looks good so far!
-
@fabiosantoscode sort of? i'm not actually splitting the triangle or anything
i step through the bounding box in 8x8 tiles and check the corners to see if all corners of the tile are either fully outside any given edge, in which case they're blank and i can skip the pixel by pixel rendering
and if all corners are inside the triangle (and the viewport) then i know i can do the fast path
then for each pixel in the 8x8 tile i plot the pixel if it's inside the triangle/viewport
@eniko it sounds like a great optimisation!
-
debug rendering tiles that are skipped (red) and tiles that can do a fast path (cyan) because they're known to be fully covered and fully within the viewport, so they can skip inside/outside and pixel clipping checks
@eniko this would make such a pretty logo in itself
-
@fabiosantoscode sort of? i'm not actually splitting the triangle or anything
i step through the bounding box in 8x8 tiles and check the corners to see if all corners of the tile are either fully outside any given edge, in which case they're blank and i can skip the pixel by pixel rendering
and if all corners are inside the triangle (and the viewport) then i know i can do the fast path
then for each pixel in the 8x8 tile i plot the pixel if it's inside the triangle/viewport
@eniko @fabiosantoscode what happens if a triangle is completely contained within a tile?
-
@eniko @fabiosantoscode what happens if a triangle is completely contained within a tile?
@nicklockwood I think we can return early because the amount of tiles is 1 in that case.
We can return early if the width or height of the bounding box rounded to the tile is 1, really.
-
@eniko @fabiosantoscode what happens if a triangle is completely contained within a tile?
@nicklockwood @fabiosantoscode if a triangle is within a single tile then by definition the corners of the tile cannot all be on the same side of any given edge and so it draws the tile without the fast path
-
debug rendering tiles that are skipped (red) and tiles that can do a fast path (cyan) because they're known to be fully covered and fully within the viewport, so they can skip inside/outside and pixel clipping checks
took a bit of doing but now i have a single header library where i can customize my triangle fill routine for different vertex attributes. in debug mode it uses a single triFill function with function pointers so there's no weirdness going on, and when optimized it includes the triFill function multiple times with different names and calls the helper functions directly by name so they get inlined*
*i checked the assembly to make sure