ScratchData LogoScratchData
Back to littlebunny06's profile

3D Engine Radiosity Test

LIlittlebunny06•Created March 29, 2025
3D Engine Radiosity Test
45
42
427 views
View on Scratch

Instructions

This runs on Scratch, but takes minutes of time to load. Turbowarp may be recommended for rebaking: https://turbowarp.org/1154561855/fullscreen?stuck&hqpen&fps=60 WASD Space Arrow keys X to respawn Mouse down to fire

Description

Radiosity Debugging Gamma Engine A method based off of Quake II and idTech 2 Takes a few minutes to bake the direct lights on Scratch for me, takes an instant to bake on Turbowarp. The patch run is not included in this process because I slowed it down. It actually takes an instant when not slowed. What exactly is going on?: 1. The map is partitioned using binary space partitioning. You'll see a white screen. This will take a solid minute or two on Scratch. This is nothing new. This is near-instantaneous on Turbowarp. 2. However, next, a bunch of 3D radiant energy(radiance) transfers are computed between a face and all other faces for each face on a map. You can see this as the glowing faces that loop over every face when the map is done being partitioned. These are used to pretty much instantly bounce light and emulate global illumination given an initial direct pass of lighting. Since this is done at some rate of around 15 per second or something, the speed on Turbowarp and Scratch are capped and therefore, comparable. 3. The initial lighting pass is executed. This takes a long time on scratch. It tends to be taxing even on Turbowarp, but I turned the samples down in this project to handle it better. 4. Light is bounced. This is approximately an instantaneous process on both scratch and Turbowarp. 5. Bounces are collected and applied to the lighting. The lighting is bad.: Yes. If you look carefully during the radiance transfer calculations, there are faces which are collected many times more than they should, and faces that are ignored. This causes jarring and extremely unsmoothed lighting. Sad. I probably have some logic or computational errors that I have to fix. I'm merely debugging an unfinished product right now. Why did you share it if it's unfinished?: Radiosity Anyways, all that aside, thank you very much for taking a look at this. Feel free to ask any relevant questions. I may or may not be able to answer them but I'll try my best. Again, thank you.

Project Details

Project ID1154561855
CreatedMarch 29, 2025
Last ModifiedMarch 30, 2025
SharedMarch 29, 2025
Visibilityvisible
CommentsAllowed