From 71df788350794e061419304eafff9ac354841eb9 Mon Sep 17 00:00:00 2001 From: TheRedShip Date: Sun, 19 Jan 2025 15:48:25 +0100 Subject: [PATCH] + | Patching opti's problem --- fps.txt | 5486 ++++++++++++++++++++---------------------- imgui.ini | 10 +- shaders/compute.glsl | 1 + shaders/debug.glsl | 1 + srcs/RT.cpp | 6 +- srcs/class/BVH.cpp | 2 +- 6 files changed, 2636 insertions(+), 2870 deletions(-) diff --git a/fps.txt b/fps.txt index 0ee8cf3..8314797 100644 --- a/fps.txt +++ b/fps.txt @@ -1,2897 +1,2661 @@ -0 -434782 -334 -432 -324 -190 -131 -174 -149 -226 -158 -153 +185 148 -171 -140 -210 -146 -180 -193 -147 -115 -153 -235 -211 -145 -160 -120 -139 +185 154 -142 -162 -154 -113 -158 -226 -211 -188 -148 -204 -180 -151 -215 -157 -152 -178 -158 -168 -146 -187 +101 189 158 -163 -140 -153 -175 -169 -177 -173 +139 135 -157 -201 -162 -174 -132 -137 -210 -169 -183 -168 -176 -131 -243 -170 -176 -181 -200 -200 -145 -207 -182 -213 -191 -178 -199 -164 -216 -222 -181 -170 -164 -160 -170 -175 -162 -164 -170 -165 -135 -185 -178 -169 -174 -164 -164 -142 -167 -154 -185 -173 -158 -161 -183 -165 -163 -208 -150 -178 -187 -205 -188 -163 -144 -208 -166 -191 -172 -160 -180 -180 124 -183 -175 -169 -171 -152 -142 -179 -178 -162 -184 -178 -140 -162 -147 -153 -145 -180 -137 -201 -166 -168 -166 -171 -136 -188 -168 -164 -157 -172 123 -207 -184 -165 -175 -167 -136 -180 -161 -193 -136 -150 -173 -177 -168 -160 -160 -129 -143 -131 -144 -131 -122 -135 -133 -130 -132 -127 -133 -158 -168 -104 -105 -184 -127 -134 138 -99 -134 -133 +145 +163 +108 +131 +156 +144 +163 +182 +162 148 -115 -119 -134 +174 +117 +201 +188 +166 157 +180 +120 +224 +138 +218 +160 +160 +128 +225 +160 +180 +178 +145 +150 +236 +158 +164 +160 140 -110 -106 -176 -139 -126 -133 -127 -136 -134 -121 -112 -131 -139 -130 -120 -110 -146 -139 -122 -122 -122 -120 -142 -119 -111 -133 -154 -126 -111 -109 -126 -126 -119 -114 -134 -131 -123 -115 -112 -119 -135 -119 -107 -124 -122 -127 -116 -130 -130 -128 -109 -120 -120 -122 -106 -112 -123 -128 -115 -116 -126 -118 -131 -104 -118 -107 -130 -103 -105 -127 -117 -108 -112 -118 -131 -107 -108 -121 -118 -131 -106 -115 -121 -128 -108 -107 -128 -118 -110 -92 -123 -117 -106 -97 -109 -121 -107 -103 -117 -122 -110 -103 -117 -114 -105 -106 -118 -119 -99 -107 -117 -127 -108 -100 -116 -112 -114 -97 -121 -114 -114 -99 -124 -118 -110 -97 -108 -114 -113 -99 -117 -112 -114 -98 -116 -109 -110 -95 -118 -111 -106 -99 -115 -112 -112 -98 -111 -117 -99 -105 -106 -117 -99 -100 -109 -110 -96 -101 -112 -103 -101 -104 -118 -92 -90 -108 -108 -93 -111 -104 -100 -96 -104 -105 -104 -93 -105 -98 -90 -102 -86 -107 -97 -98 -102 -86 -97 -99 -92 -92 -100 -95 -90 -104 -99 -91 -89 -99 -97 -85 -100 -106 -94 -102 -100 -91 -87 -107 -94 -85 -100 -100 -87 -97 -101 -92 -86 -97 -95 -84 -106 -98 -87 -99 -101 -94 -94 -104 -77 -97 -99 -102 -84 -106 -99 -87 -97 -99 -89 -100 -100 -86 -82 -103 -89 -86 -101 -98 -84 -103 -100 -90 -99 -100 -83 -82 -105 -98 -91 -104 -105 -84 -98 -106 -102 -85 -104 -94 -93 -104 -104 -85 -99 -100 -103 -84 -103 -104 -93 -104 -101 -101 -85 -110 -109 -87 -102 -113 -101 -91 -111 -106 -94 -101 -114 -108 -101 -98 -104 -124 -90 -108 -115 -95 -106 -108 -117 -104 -90 -113 -117 -110 -103 -102 -126 -94 -103 -118 -117 -92 -111 -123 -118 -96 -120 -117 -115 -99 -124 -120 -120 -104 -112 -116 -113 -109 -121 -117 -114 -100 -124 -128 -115 -110 -119 -118 -128 -111 -126 -131 -131 -105 -123 -119 -131 -111 -110 -118 -130 -106 -109 -120 -134 -125 -120 -126 -142 -126 -105 -99 -142 -134 -142 -134 -116 +208 +158 +166 +164 147 -118 142 -119 -107 +180 +157 +185 +181 +145 +112 +154 +131 153 -146 -143 -124 -132 +172 +154 +166 +115 +188 +214 +191 +183 +154 +150 +166 +176 +166 +172 +198 +156 +153 +137 +227 +151 +168 +151 +153 +174 +162 +181 +188 +148 +169 +154 +179 +155 +167 +178 +173 +152 +180 +173 +162 +176 +172 +156 +168 +172 +167 +157 +144 +186 +142 +178 +162 +166 +161 +181 +144 +180 +148 +162 +167 +155 +169 +168 +174 +157 +174 141 -140 -125 -121 -135 -145 +176 +142 +189 +170 +175 +159 +157 +131 +175 +165 +168 +154 170 -123 -108 -146 -171 -127 -148 -133 -135 -150 -136 -155 -158 -140 -149 153 +166 +170 +172 +139 +160 +160 +185 +197 +146 +147 +170 +160 +179 +196 +153 +133 +136 +151 +154 +151 +147 +165 +127 +156 +181 +140 +130 +126 +144 +159 +135 +127 +118 +141 +168 +133 +136 +122 132 +149 +164 +120 +103 +158 +158 +138 +118 +111 +127 +141 +128 +129 +113 +124 +149 +134 +119 +134 +163 +126 +123 +111 +134 +144 +118 +128 +104 +140 +143 +141 +117 +137 +117 +138 +104 +103 +116 +141 +129 +119 +126 +141 +125 +133 +103 +125 +129 +119 +101 +136 +129 +119 +112 +104 +120 +117 +122 +93 +133 +136 +115 +96 +112 +121 +124 +104 +127 +116 +127 +108 +110 +111 +113 +111 +104 +115 114 104 -130 -181 -199 -179 -168 -154 -179 -185 -192 -193 -158 -164 -195 -210 -174 -184 -147 -150 -208 -172 -183 -187 -197 -185 -168 -222 -180 -167 -174 -162 -157 -186 -193 -185 -189 -142 -198 -216 -198 -168 -175 -150 -174 -158 -180 -185 -185 -197 -147 -173 -197 -204 -206 -182 -161 -177 -169 -156 -253 -195 -206 -158 -164 -213 -210 -178 -179 -209 -187 -176 -228 -184 -194 -210 -149 -171 -204 -224 -209 -191 -170 -202 -155 -202 -212 -229 -193 -179 -175 -199 -226 -181 -251 -164 -177 -180 -202 -220 -233 -194 -170 -163 -187 -179 -231 -237 -169 -164 -146 -223 -190 -211 -218 -166 -151 -235 -185 -191 -204 -199 -229 -149 -188 -168 -169 -205 -196 -231 -156 -193 -197 -196 -159 -169 -202 -164 -198 -188 -299 -179 -183 -188 -165 -175 -303 -228 -193 -191 -201 -179 -269 -160 -197 -215 -199 -204 -171 -242 -202 -213 -248 -158 -182 -197 -195 -231 -261 -193 -205 -252 -149 -286 -209 -212 -255 -261 -186 -208 -191 -260 -213 -237 -269 -191 -144 -171 -215 -214 -255 -273 -225 -244 -160 -249 -181 -217 -249 -291 -235 -283 -151 -256 -184 -244 -283 -197 -270 -276 -178 -220 -198 -267 -214 -257 -259 -212 -200 -153 -235 -294 -225 -211 -300 -218 -222 -199 -178 -197 -236 -237 -315 -178 -322 -302 -185 -211 -193 -316 -213 -252 -302 -231 -263 -227 -217 -205 -278 -316 -222 -325 -221 -259 -252 -182 -214 -250 -331 -256 -317 -243 -244 -273 -200 -220 -289 -331 -261 -343 -277 -306 -215 -183 -286 -195 -267 -276 -318 -276 -323 -264 -208 -223 -194 -267 -346 -234 -350 -255 -251 -308 -205 -253 -236 -232 -270 -345 -257 -346 -247 -259 -181 -209 -246 -286 -353 -287 -338 -260 -340 -216 -193 -307 -226 -267 -362 -255 -329 -247 -317 -288 -173 -267 -218 -263 -302 -344 -275 -349 -249 -272 -177 -250 -256 -329 -240 -416 -246 -359 -252 -301 -210 -255 -182 -328 -274 -323 -336 -321 -271 -352 -195 -252 -199 -312 -269 -318 -373 -341 -199 -249 -293 -177 -245 -226 -400 -240 -372 -261 -300 -403 -356 -210 -226 -242 -352 -313 -385 -319 -366 -380 -252 -322 -195 -310 -201 -414 -260 -406 -289 -363 -243 -367 -224 -180 -373 -244 -298 -367 -254 -429 -259 -358 -266 -226 -234 -233 -285 -311 -282 -321 -232 -376 -237 -230 -187 -341 -239 -411 -258 -381 -308 -352 -267 -370 -230 -226 -309 -231 -310 -410 -382 -272 -356 -324 -358 -239 -238 -271 -258 -368 -289 -354 -387 -356 -275 -386 -213 -233 -297 -250 -263 -424 -294 -395 -312 -392 -348 -312 -179 -407 -261 -402 -238 -328 -425 -359 -408 -401 -280 -131 -1603 -334 -271 -300 -392 -277 -371 -273 -347 -328 -305 -355 -352 -214 -268 -406 -365 -392 -335 -430 -398 -275 -255 -428 -297 -265 -331 -393 -352 -411 -382 -266 -399 -231 -406 -250 -214 -350 -268 -495 -266 -380 -260 -386 -347 -305 -279 -424 -233 -498 -285 -402 -283 -420 -279 -355 -397 -312 -235 -672 -269 -364 -305 -386 -280 -367 -274 -435 -283 -422 -272 -375 -258 -292 -347 -403 -368 -370 -304 -336 -362 -388 -247 -464 -414 -316 -288 -459 -357 -451 -387 -304 -384 -287 -394 -246 -421 -281 -236 -514 -452 -272 -434 -289 -416 -291 -403 -307 -369 -296 -465 -259 -499 -362 -452 -306 -451 -368 -353 -399 -375 -419 -412 -219 -376 -516 -437 -278 -450 -292 -431 -407 -395 -398 -455 -468 -222 -433 -375 -517 -374 -407 -404 -301 -441 -280 -269 -296 -424 -284 -406 -294 -402 -272 -441 -285 -335 -438 -460 -219 -368 -208 -662 -297 -385 -304 -457 -307 -466 -319 -426 -298 -452 -352 -277 -473 -317 -403 -270 -578 -371 -449 -441 -294 -267 -441 -374 -292 -392 -288 -402 -303 -445 -360 -347 -361 -385 -484 -333 -283 -412 -422 -368 -513 -445 -264 -482 -317 -499 -296 -417 -357 -371 -366 -420 -402 -306 -448 -356 -352 -368 -414 -249 -387 -294 -260 -383 -446 -402 -338 -394 -346 -425 -294 -234 -286 -288 -414 -373 -354 -349 -427 -407 -246 -493 -254 -509 -326 -290 -295 -422 -327 -471 -428 -240 -454 -422 -340 -336 -418 -263 -476 -374 -475 -429 -238 -403 -453 -367 -360 -329 -330 -450 -263 -546 -360 -392 -470 -386 -555 -428 -303 -349 -384 -481 -334 -356 -465 -429 -428 -340 -453 -431 -467 -459 -430 -304 -508 -425 -309 -300 -488 -294 -533 -499 -389 -499 -274 -403 -293 -402 -389 -307 -443 -426 -486 -348 -479 -475 -376 -496 -358 -340 -378 -516 -347 -373 -504 -459 -366 -408 -337 -506 -430 -454 -357 -448 -517 -354 -364 -422 -370 -530 -513 -285 -500 -314 -629 -394 -470 -335 -342 -522 -251 -595 -477 -439 -506 -449 -423 -497 -373 -506 -450 -310 -488 -347 -250 -373 -489 -500 -290 -481 -345 -454 -489 -418 -471 -313 -455 -331 -324 -506 -387 -530 -339 -519 -489 -260 -566 -318 -514 -280 -488 -342 -307 -394 -478 -438 -429 -539 -485 -341 -463 -524 -275 -497 -363 -368 -302 -504 -357 -675 -475 -486 -412 -501 -333 -444 -340 -448 -497 -269 -556 -378 -477 -533 -337 -523 -484 -416 -508 -493 -301 -466 -320 -362 -368 -462 -406 -550 -529 -252 -743 -508 -300 -482 -287 -574 -455 -305 -477 -360 -440 -525 -447 -470 -367 -517 -504 -315 -363 -467 -476 -329 -312 -531 -362 -561 -497 -364 -500 -419 -542 -440 -390 -468 -523 -370 -494 -335 -495 -447 -339 -497 -398 -524 -468 -323 -509 -509 -378 -489 -329 -326 -381 -445 -505 -336 -515 -499 -420 -467 -394 -363 -408 -352 -338 -310 -602 -469 -403 -459 -382 -462 -516 -296 -473 -321 -454 -416 -371 -294 -518 -467 -360 -497 -452 -352 -464 -296 -512 -330 -434 -408 -312 -473 -333 -515 -367 -477 -435 -320 -530 -404 -466 -445 -299 -614 -343 -316 -459 -335 -532 -349 -526 -464 -442 -640 -489 -456 -536 -398 -464 -375 -497 -448 -531 -432 -490 -469 -327 -569 -341 -658 -323 -486 -345 -412 -466 -473 -388 -524 -443 -377 -551 -467 -421 -542 -283 -448 -532 -354 -496 -441 -521 -459 -501 -468 -499 -336 -618 -432 -340 -449 -380 -338 -531 -303 -448 -295 -475 -297 -399 -418 -479 -352 -351 -453 -320 -295 -333 -433 -361 -492 -459 -314 -433 -277 -519 -315 -436 -375 -313 -396 -301 -417 -291 -395 -343 -446 -355 -465 -339 -411 -369 -304 -397 -319 -472 -399 -447 -346 -400 -455 -389 -366 -410 -418 -346 -306 -629 -461 -412 -466 -391 -452 -500 -358 -491 -371 -444 -489 -317 -498 -533 -321 -457 -396 -518 -461 -304 -433 -404 -552 -315 -523 -602 -276 -513 -492 -432 -523 -531 -335 -423 -382 -498 -479 -316 -477 -390 -401 -334 -497 -433 -472 -529 -453 -565 -607 -558 -456 -515 -594 -351 -524 -540 -302 -552 -481 -369 -482 -483 -527 -576 -479 -549 -475 -614 -345 -465 -495 -403 -427 -431 -571 -587 -385 -524 -578 -364 -638 -526 -367 -626 -358 -566 -554 -341 -484 -528 -496 -575 -652 -490 -546 -582 -571 -453 -569 -472 -420 -564 -542 -358 -511 -441 -624 -556 -468 -441 -563 -510 -340 -642 -462 -407 -543 -459 -385 -299 -538 -473 -384 -525 -535 -354 -522 -509 -377 -533 -358 -519 -524 -346 -378 -525 -467 -571 -380 -334 -477 -971 -290 -468 -346 -579 -413 -342 -391 -354 -626 -502 -425 -479 -433 -503 -615 -451 -569 -450 -536 -556 -568 -452 -419 -612 -475 -528 -675 -447 -533 -614 -510 -446 -593 -555 -418 -573 -534 -443 -392 -569 -432 -599 -495 -518 -588 -519 -504 -570 -534 -500 -395 -476 -490 -397 -343 -532 -594 -459 -552 -519 -564 -365 -563 -537 -338 -567 -373 -615 -567 -266 -731 -493 -363 -518 -514 -484 -569 -522 -332 -590 -399 -408 -490 -359 -365 -289 -636 -450 -428 -514 -426 -505 -450 -372 -442 -427 -433 -426 -335 -322 -385 -560 -396 -367 -443 -386 -462 -428 -331 -291 -337 -417 -316 -512 -478 -379 -448 -308 -450 -386 -504 -405 -313 -464 -348 -385 -471 -391 -397 -373 -514 -401 -306 -456 -377 -407 -382 -300 -382 -443 -418 -306 -441 -389 -443 -397 -359 -368 -318 -489 -311 -338 -403 -496 -443 -341 -584 -440 -435 -549 -348 -439 -516 -354 -340 -320 -537 -386 -443 -505 -394 -467 -507 -314 -506 -314 -468 -526 -283 -438 -320 -431 -418 -458 -408 -263 -407 -321 -323 -319 -360 -286 -474 -317 -468 -347 -536 -456 -284 -447 -363 -377 -464 -456 -264 -429 -470 -359 -530 -423 -261 -493 -313 -390 -302 -459 -354 -359 -524 -384 -382 -294 -479 -379 -591 -407 -358 -298 -307 -377 -309 -459 -410 -470 -424 -273 -377 -431 -417 -384 -287 -376 -398 -320 -433 -383 -311 -436 -403 -454 -445 -304 -446 -273 -464 -343 -346 -350 -544 -444 -359 -463 -317 -316 -860 -373 -523 -295 -537 -365 -309 -435 -319 -553 -419 -491 -479 -327 -449 -445 -339 -344 -558 -279 -361 -474 -311 -486 -464 -395 -505 -349 -437 -505 -306 -476 -343 -392 -481 -275 -433 -409 -446 -338 -509 -452 -288 -275 -496 -399 -300 -457 -417 -457 -427 -288 -456 -320 -470 -428 -431 -424 -305 -429 -331 -486 -486 -364 -437 -374 -536 -452 -298 -460 -390 -312 -295 -516 -431 -392 -503 -504 -408 -449 -290 -385 -308 -532 -258 -570 -469 -357 -422 -426 -462 -486 -328 -473 -362 -470 -420 -245 -534 -335 -438 -433 -525 -446 -326 -553 -494 -375 -284 -428 -303 -336 -455 -329 -522 -453 -315 -524 -346 -513 -465 -261 -492 -326 -372 -340 -402 -489 -457 -491 -256 -860 -547 -362 -487 -294 -511 -417 -353 -604 -381 -465 -416 -333 -503 -389 -481 -413 -335 -504 -377 -335 -302 -461 -381 -377 -470 -418 -558 -455 -413 -521 -337 -384 -499 -200 -2538 -415 -407 -504 -312 -510 -493 -418 -494 -346 -577 -470 -283 -464 -477 -395 -507 -398 -516 -451 -315 -507 -419 -344 -481 -355 -323 -385 -488 -426 -501 -469 -554 -454 -540 -454 -523 -527 -364 -529 -528 -298 -599 -479 -333 -412 -381 -485 -438 -474 -473 -354 -485 -475 -303 -415 -360 -487 -475 -306 -376 -330 -478 -346 -483 -417 -276 -629 -339 -540 -444 -421 -516 -356 -658 -521 -354 -485 -492 -336 -426 -368 -401 -469 -427 -511 -493 -409 -462 -426 -479 -455 -312 -433 -336 -450 -315 -487 -421 -354 -475 -435 -415 -418 -330 -471 -265 -558 -329 -282 -382 -446 -420 -299 -494 -407 -457 -418 -315 -326 -322 -412 -281 -479 -294 -472 -386 -459 -403 -281 -496 -348 -324 -302 -423 -301 -478 -417 -316 -437 -342 -496 -406 -492 -461 -322 -494 -479 -269 -470 -430 -444 -401 -353 -689 -353 -459 -439 -345 -412 -385 -328 -270 -476 -303 -502 -353 -555 -473 -297 -469 -389 -477 -406 -227 -397 -277 -443 -335 -405 -303 -411 -281 -320 -330 -415 -246 -361 -293 -386 -298 -370 -298 -426 -285 -367 -287 -465 -216 -433 -308 -355 -260 -381 -319 -416 -322 -224 -419 -258 -349 -325 -363 -377 -358 -346 -285 -276 -336 -245 -289 -272 -347 -265 -346 -314 -279 -243 -288 -266 -245 -293 -368 -297 -318 -222 -326 -255 -286 -275 -251 -265 -296 -334 -335 -254 -318 -207 -307 -215 -273 -277 -353 -234 -329 -214 -251 -190 -260 -199 -275 -295 -223 -263 -276 -204 -240 -229 -239 -205 -344 -253 -245 -302 -200 -206 -222 -267 -278 -282 -189 -215 -277 -255 -247 -222 -256 -248 -302 -286 -283 -303 -205 -254 -169 -315 -221 -283 -213 -204 -263 -200 -181 -203 -227 -261 -261 -269 -303 -230 -266 -231 -240 -251 -330 -218 -266 -263 -180 -245 -189 -404 -267 -325 -214 -287 -320 -217 -296 -201 -247 -285 -222 -240 -259 -225 -179 -279 -228 -208 -239 -278 -284 -255 -252 -214 -198 -242 -333 -222 -278 -192 -498 -232 -224 -215 -279 -257 -306 -208 -269 -256 -242 -233 -166 -270 -236 -225 -272 -306 -218 -205 -270 -229 -219 -327 -218 -223 -279 -215 -229 -221 -243 -220 -234 -241 -233 -203 -238 -297 -152 -252 -243 -320 -184 -204 -265 -171 -245 -164 -258 -282 -235 -216 -272 -211 -228 -199 -265 -208 -218 -262 -277 -195 -162 -208 -220 -235 -183 -216 -267 -279 -170 -217 -173 -259 -161 -234 -218 -249 -245 -206 -189 -219 -279 -195 -203 -210 -270 -202 -150 -298 -259 -248 -199 -248 -233 -197 -180 -249 -287 -183 -207 -261 -231 -209 -173 -231 -297 -187 -206 -244 -205 -232 -153 -216 -281 -233 -195 -260 -262 -209 -170 -242 -245 -196 -158 -183 -216 -223 -148 -274 -173 -232 -194 -260 -186 -205 -170 -186 -203 -218 -236 -158 -193 -154 -196 -195 -178 -243 -270 -164 -189 -157 -193 -174 -310 -215 -188 -170 +96 +117 +116 +120 +102 126 -194 -181 +107 +111 +102 +107 +118 +111 +102 +111 +118 +111 +99 +128 +114 +108 +93 +127 +111 +107 +95 +106 +118 +108 +98 +124 +110 +104 +97 +117 +113 +105 +96 +113 +119 +94 +86 +119 +116 +108 +89 +126 +106 +108 +96 +121 +119 +91 +114 +126 +102 +97 +114 +123 +96 +90 +121 +110 +94 +110 +105 +119 +100 +102 +118 +116 +99 +114 +112 +97 +103 +111 +114 +100 +101 +107 +113 +93 +96 +113 +115 +98 +96 +114 +108 +83 +121 +107 +93 +105 +109 +104 +89 +102 +112 +87 +94 +105 +93 +88 +106 +98 +88 +91 +101 +96 +89 +105 +102 +83 +94 +107 +91 +88 +100 +103 +86 +95 +103 +94 +89 +102 +85 +91 +100 +98 +81 +103 +93 +86 +103 +103 +80 +89 +102 +84 +88 +101 +98 +86 +98 +93 +83 +98 +95 +81 +89 +110 +84 +99 +98 +84 +91 +92 +99 +88 +97 +83 +81 +90 +91 +87 +93 +92 +81 +98 +92 +89 +92 +91 +83 +96 +95 +80 +99 +95 +83 +103 +98 +79 +91 +98 +94 +84 +100 +80 +83 +101 +94 +81 +99 +98 +87 +83 +107 +88 +87 +98 +97 +82 +99 +99 +84 +96 +96 +95 +88 +102 +92 +89 +99 +108 +91 +91 +109 +98 +92 +99 +104 +90 +83 +108 +101 +99 +98 +107 +101 +86 +112 +110 +96 +92 +108 +106 +96 +107 +109 +94 +83 +108 +116 +112 +88 +111 +115 +101 +104 +117 +107 +102 +105 +120 +105 +94 +113 +116 +102 +98 +116 +108 +110 +96 +94 +120 +112 +89 +121 +123 +112 +93 +110 +128 +119 +103 +107 +119 +119 +109 +115 +117 +117 +113 +118 +117 +117 +117 +106 +127 +146 +122 +108 +121 +129 +130 +118 +108 +133 +148 +137 +108 +132 +142 +137 +129 +108 +138 +114 +146 +111 +110 +137 +146 +135 +113 +135 +133 +128 +131 +140 +114 +131 +135 +145 +134 +114 +126 +146 +162 +102 +104 +159 +152 +172 +151 +183 +146 +173 +180 +179 +175 +182 +139 +173 +177 +207 +176 +180 +130 +190 204 -239 +160 +159 +208 +141 +116 +282 +157 +173 +160 +168 +174 +161 +211 +179 +166 +163 +188 +183 +184 +203 +157 +150 +220 +166 +166 +170 +157 +154 +166 +145 +207 +203 +158 +171 +156 +175 +180 +189 +189 +163 +165 +210 +217 +174 +165 +149 +205 +164 +189 +190 +198 +181 +172 +164 +219 +153 +204 +184 +159 +175 +161 +177 +185 +201 +189 +152 +162 +190 +220 +203 +164 +172 +140 +161 +227 +188 +186 +183 +180 +149 +207 +213 +143 +197 +158 +152 +146 +212 +171 +153 +202 +169 +162 +122 +317 +180 +203 +196 +141 +212 +216 +152 +220 +160 +171 +191 +186 +209 226 +133 +203 +140 +197 +206 +189 +178 +196 +189 +157 +224 +224 +183 +185 +173 +170 +227 +218 +177 +188 +190 +160 +175 +215 +235 +235 +194 +176 +169 +187 +205 +213 +191 +194 +193 +181 +162 +160 +245 +261 +198 +203 +234 +148 +224 +172 +188 +209 +210 +243 221 138 -164 200 -182 -283 -246 -204 -169 -157 -179 -202 -266 -187 -191 -185 -174 -148 -149 -193 +194 216 -227 -229 -191 -126 -209 -202 -173 -290 -238 -174 -177 -187 -129 -186 -175 -189 +198 +395 +207 204 -241 -142 -158 -254 -189 -199 -176 +160 +195 248 +244 +231 +270 +201 +184 +163 +176 +284 +183 +202 +203 +270 +222 +158 +179 +217 +223 +306 +203 +216 +269 +146 +267 +174 +238 +302 +208 +230 +273 +180 162 -169 -173 +175 +269 236 -186 -205 +305 +230 +274 +297 +184 +165 +188 +308 226 +235 +288 +195 +225 +200 +180 +211 +200 +221 +246 +293 +219 +228 +278 +199 +207 +294 +208 +236 +252 +312 +204 +280 +159 +241 +215 +270 +317 +235 +246 +327 +219 +173 +265 +198 +251 +271 +340 +277 +311 +217 +193 +293 +192 +259 +300 +252 +290 +311 +258 +208 +220 +219 +288 +324 +261 +315 +241 +324 +212 +195 +267 +231 +202 +248 +316 +271 +310 +318 +188 +181 +208 +320 +227 +345 +232 +304 +325 +236 +162 +327 +212 +293 +346 +236 +298 +228 +293 +227 +166 +180 +211 +258 +323 +222 +323 +249 +319 +236 +174 +204 +233 +330 +237 +294 +322 +298 +328 +202 +193 +242 +246 +291 +361 +283 +358 +250 +318 +215 +219 +215 +388 +347 +228 +244 +340 +224 +228 +220 +203 +200 +225 +310 +243 +334 +329 +260 +352 +231 +167 +595 +187 +299 +356 +269 +302 +204 +218 +189 +228 +213 +270 +373 +262 +354 +202 +299 +320 +270 +148 +387 +213 +229 +337 +244 +305 +359 +308 +329 +183 +368 +203 +218 +368 +210 +294 +322 +322 +405 +168 +537 +167 +227 +307 +380 +299 +320 +320 +348 +337 +293 +237 +187 +370 +265 +382 +237 +282 +444 +343 +216 +316 +344 +201 +309 +346 +364 +238 +244 +329 +239 +205 +382 +225 +352 +245 +318 +349 +315 +384 +331 +334 +374 +224 +220 +335 +250 +437 +360 +359 +227 +335 +269 +255 +269 +366 +330 +237 +244 +326 +251 +399 +251 +239 +341 +240 +351 +308 +381 +236 +412 +218 +327 +322 +292 +359 +202 +365 +250 +298 +378 +338 +365 +344 +383 +329 +336 +305 +270 +318 +343 +303 +374 +341 +390 +348 +279 +454 +282 +227 +437 +330 +389 +333 +381 +374 +243 +431 +235 +295 +259 +236 +407 +233 +391 +391 +343 +344 +402 +265 +352 +267 +255 +436 +417 +311 +426 +353 +364 +251 +436 +215 +469 +256 +307 +429 +332 +395 +404 +280 +405 +270 +361 +295 +343 +238 +346 +378 +354 +399 +367 +307 +339 +276 +290 +483 +309 +232 +385 +414 +285 +365 +394 +232 +342 +323 +311 +376 +184 +378 +292 +354 +268 +288 +365 +339 +414 +237 +437 +314 +259 +336 +368 +352 +449 +416 +233 +411 +245 +368 +420 +210 +395 +307 +396 +256 +386 +296 +404 +319 +288 +265 +358 +258 +388 +274 +394 +226 +421 +336 +354 +331 +257 +415 +338 +290 +355 +410 +364 +276 +287 +355 +331 +303 +307 +341 +249 +326 +248 +349 +321 +390 +228 +404 209 +198 +392 +176 +378 +320 +329 +362 +277 +336 +342 +273 +411 +379 +248 +241 +316 +361 +379 +355 +339 +316 +464 +321 +253 +444 +227 +355 +391 +414 +383 +384 +254 +392 +276 +327 +324 +366 +242 +263 +527 +389 +431 +359 +297 +402 +337 +383 +384 +469 +238 +474 +458 +289 +368 +242 +334 +499 +412 +429 +259 +326 +401 +271 +507 +381 +446 +440 +275 +485 +283 +383 +402 +308 +303 +445 +253 +529 +399 +450 +450 +400 +463 +415 +304 +459 +286 +447 +375 +316 +385 +482 +449 +334 +472 +387 +412 +464 +268 +279 +473 +361 +295 +595 +362 +465 +487 +301 +448 +307 +468 +339 +324 +450 +368 +291 +437 +434 +291 +494 +412 +395 +458 +291 +403 +267 +436 +396 +274 +368 +472 +400 +445 +431 +314 +367 +409 +430 +293 +446 +322 +320 +389 +313 +401 +294 +455 +280 +510 +360 +416 +256 +474 +362 +285 +469 +340 +353 +256 +460 +379 +445 +399 +400 +417 +276 +325 +353 +430 +294 +412 +313 +426 +414 +452 +433 +260 +450 +287 +276 +442 +421 +407 +458 +438 +329 +430 +315 +403 +353 +471 +413 +241 +447 +497 +459 +377 +429 +395 +269 +364 +408 +301 +368 +458 +328 +464 +314 +411 +381 +339 +451 +349 +456 +323 +327 +483 +365 +322 +272 +487 +383 +506 +334 +415 +400 +354 +332 +301 +439 +313 +325 +317 +428 +327 +362 +381 +453 +451 +285 +483 +291 +420 +286 +242 +470 +374 +314 +416 +327 +454 +460 +362 +443 +282 +433 +347 +290 +460 +438 +399 +280 +457 +295 +367 +271 +389 +257 +414 +262 +275 +385 +396 +368 +386 +272 +345 +418 +464 +271 +442 +275 +413 +340 +490 +454 +272 +424 +336 +471 +312 +482 +367 +520 +466 +344 +341 +370 +512 +460 +311 +445 +391 +473 +414 +296 +324 +294 +434 +315 +454 +359 +558 +465 +323 +450 +310 +427 +402 +338 +474 +375 +303 +279 +470 +265 +448 +263 +419 +427 +429 +347 +432 +397 +277 +275 +371 +347 +332 +394 +302 +392 +268 +436 +241 +307 +287 +338 +319 +271 +410 +323 +381 +342 +386 +329 +404 +309 +389 +311 +273 +391 +278 +368 +326 +403 +284 +365 +338 +260 +359 +343 +302 +397 +265 +308 +438 +382 +299 +383 +300 +374 +315 +445 +270 +301 +331 +293 +467 +459 +453 +374 +470 +301 +428 +302 +518 +316 +337 +444 +364 +439 +409 +461 +392 +498 +447 +391 +342 +495 +370 +331 +333 +444 +325 +487 +368 +437 +392 +387 +424 +336 +496 +526 +305 +464 +443 +364 +469 +358 +488 +437 +355 +465 +370 +442 +451 +401 +348 +331 +496 +410 +528 +456 +345 +529 +471 +299 +534 +378 +358 +527 +462 +323 +400 +449 +396 +497 +505 +419 +554 +501 +373 +564 +409 +373 +504 +456 +383 +560 +422 +548 +447 +341 +502 +506 +344 +496 +411 +403 +445 +448 +301 +391 +469 +502 +341 +478 +281 +566 +479 +426 +446 +331 +487 +431 +371 +466 +358 +512 +477 +351 +437 +484 +438 +446 +377 +279 +341 +382 +315 +508 +450 +347 +414 +291 +401 +425 +467 +426 +262 +547 +322 +334 +469 +560 +523 +381 +668 +501 +431 +573 +493 +495 +592 +326 +400 +550 +301 +368 +447 +571 +542 +433 +562 +530 +562 +302 +618 +415 +484 +561 +354 +462 +305 +528 +531 +443 +467 +500 +341 +476 +473 +360 +559 +329 +514 +424 +321 +479 +429 +526 +450 +369 +485 +428 +321 +527 +329 +329 +373 +496 +265 +547 +463 +324 +484 +425 +325 +1139 +320 +458 +395 +306 +263 +643 +324 +341 +385 +321 +415 +380 +401 +353 +390 +327 +341 +326 +333 +428 +273 +427 +304 +384 +286 +414 +206 +555 +273 +384 +275 +391 +303 +376 +349 +498 +320 +413 +355 +412 +278 +370 +340 +304 +333 +399 +322 +424 +361 +289 +423 +410 +240 +273 +452 +300 +422 +285 +502 +424 +438 +484 +333 +499 +392 +307 +482 +346 +313 +378 +474 +302 +438 +475 +373 +381 +248 +390 +431 +434 +233 +430 +332 +438 +355 +363 +368 +416 +379 +306 +447 +356 +262 +367 +420 +380 +422 +445 +241 +496 +334 +384 +342 +412 +208 +490 +391 +438 +349 +371 +362 +397 +368 +285 +367 +279 +217 +475 +407 +248 +279 +580 +432 +290 +349 +350 +332 +240 +204 +422 +300 +464 +311 +429 +308 +405 +352 +328 +352 +314 +258 +366 +315 +421 +301 +454 +383 +257 +317 +396 +349 +281 +363 +345 +389 +276 +444 +369 +492 +351 +363 +432 +230 +258 +474 +399 +241 +382 +429 +438 +255 +456 +319 +435 +375 +325 +263 +539 +434 +242 +411 +431 +413 +254 +452 +295 +379 +323 +257 +343 +388 +269 +449 +282 +355 +304 +433 +256 +446 +201 +273 +337 +388 +467 +343 +435 +403 +327 +385 +299 +377 +293 +280 +339 +471 +402 +434 +450 +234 +512 +414 +451 +275 +384 +299 +419 +376 +439 +383 +345 +404 +452 +504 +446 +295 +428 +390 +306 +315 +469 +307 +469 +397 +318 +570 +322 +461 +325 +467 +259 +447 +375 +300 +363 +353 +355 +405 +435 +389 +363 +432 +229 +514 +284 +414 +291 +423 +324 +417 +408 +444 +271 +417 +327 +334 +412 +315 +388 +325 +480 +436 +431 +428 +340 +302 +295 +343 +331 +431 +256 +451 +358 +469 +355 +407 +427 +335 +358 +324 +282 +328 +458 +247 +606 +258 +461 +410 +438 +490 +280 +402 +361 +316 +309 +419 +424 +392 +469 +309 +463 +331 +514 +328 +396 +465 +283 +415 +340 +501 +458 +308 +448 +353 +519 +419 +340 +507 +360 +349 +341 +499 +420 +441 +507 +385 +473 +429 +276 +422 +323 +462 +315 +410 +420 +416 +408 +310 +473 +370 +457 +484 +293 +435 +293 +271 +454 +437 +337 +433 +483 +304 +441 +315 +507 +304 +386 +343 +330 +419 +459 +451 +408 +472 +404 +324 +444 +421 +309 +295 +471 +303 +499 +418 +299 +373 +326 +379 +279 +480 +362 +249 +289 +367 +263 +408 +280 +320 +431 +363 +278 +414 +275 +271 +328 +349 +255 +464 +299 +441 +267 +327 +445 +383 +388 +275 +294 +374 +286 +362 +306 +450 +280 +460 +304 +440 +403 +376 +481 +279 +251 +438 +402 +285 +425 +321 +453 +371 +457 +417 +280 +380 +263 +364 +402 +345 +273 +471 +403 +410 +403 +387 +325 +457 +330 +266 +338 +273 +284 +500 +346 +374 +341 +314 +340 +267 +232 +444 +371 +332 +352 +267 +306 +454 +328 +344 +302 +237 +261 +369 +239 +370 +248 +346 +359 +274 +330 +291 +315 +266 +338 +256 +364 +247 +256 +305 +206 +304 +214 +238 +272 +324 +278 +297 +220 +268 +352 +226 +222 +357 +218 +323 +236 +285 +255 +238 +241 +197 +219 +221 +249 +250 +193 +189 +232 +237 +205 +223 +274 +257 +183 +241 +229 +243 +167 +209 +242 +266 +201 +228 +255 +172 +220 +158 +285 +279 +188 +211 +235 +272 +186 +174 +159 +229 +254 +308 +235 +324 +227 +208 +217 +161 +275 +195 +240 +212 +213 +172 +183 +167 +240 +270 +209 +183 +198 +236 +181 +242 +184 +249 +260 +164 +222 +193 +182 +277 +164 +217 +212 +246 +253 +208 +248 +221 +212 +166 +210 +189 +273 +277 +251 +257 +213 +147 +198 +186 +258 +272 +178 +197 +191 +267 +174 +179 +195 +208 +262 +288 +203 +225 +198 +260 +167 +196 +362 +233 +188 +199 +244 +224 +200 +235 +276 +241 +206 +216 +242 +154 +232 +189 +270 +258 +217 +235 +177 +201 +241 +240 +277 +210 +184 +226 +192 +278 +153 +218 +187 +337 +182 +180 +165 +191 +172 +247 +243 +199 +188 +245 +251 +218 +139 +264 +219 +254 +190 +201 +240 +164 +264 +161 +199 +198 +264 +235 +197 +176 +184 +222 +237 +179 +193 +157 +170 +188 +145 +177 +198 +194 +266 +190 +159 +172 +194 +186 +223 +255 +176 +184 +185 +188 +222 +274 +224 +182 +231 +223 +186 +168 +180 +164 +193 +266 +247 +168 +208 +124 +260 +167 +175 +181 +215 +150 +207 +163 +216 +158 +259 +168 +142 +190 +146 +178 +228 +197 +251 +166 +180 +159 +171 +144 +176 +173 +163 +129 +191 +194 +152 +342 +228 +229 171 140 -256 -169 -180 -150 +141 +266 +173 +183 +234 +233 +143 +176 +161 +201 +195 +172 +160 +166 +170 +132 +143 +217 +173 +159 +178 +139 +151 +204 +168 +172 +196 +173 +162 +136 +132 +178 +178 +190 +173 +163 +123 +154 +245 +155 +200 210 -116 +221 +138 +173 +215 +176 +178 +176 +169 +119 +168 +246 +158 +184 +153 +183 +113 diff --git a/imgui.ini b/imgui.ini index d0bc36c..4a6d9b7 100644 --- a/imgui.ini +++ b/imgui.ini @@ -3,22 +3,22 @@ Pos=60,60 Size=400,400 [Window][Camera] -Pos=1652,11 +Pos=1646,5 Size=259,200 [Window][Material] Pos=1648,207 -Size=266,285 +Size=266,299 [Window][Fog settings] -Pos=1643,500 -Size=247,157 +Pos=1649,509 +Size=247,130 [Window][Debug] Pos=1642,668 Size=260,143 [Window][Debug BVH] -Pos=1639,664 +Pos=1646,642 Size=274,205 diff --git a/shaders/compute.glsl b/shaders/compute.glsl index 6b77014..983565a 100644 --- a/shaders/compute.glsl +++ b/shaders/compute.glsl @@ -186,6 +186,7 @@ vec3 pathtrace(Ray ray, inout uint rng_state) break; ray = newRay(hit, ray, rng_state); + ray.inv_direction = 1.0 / ray.direction; } return (color * light); diff --git a/shaders/debug.glsl b/shaders/debug.glsl index bfec4c9..9562a42 100644 --- a/shaders/debug.glsl +++ b/shaders/debug.glsl @@ -95,6 +95,7 @@ struct Ray { vec3 origin; vec3 direction; + vec3 inv_direction; }; struct hitInfo diff --git a/srcs/RT.cpp b/srcs/RT.cpp index 5dcd34d..1dfb72b 100644 --- a/srcs/RT.cpp +++ b/srcs/RT.cpp @@ -20,8 +20,8 @@ int main(int argc, char **argv) return (1); Window window(&scene, WIDTH, HEIGHT, "RT_GPU", 0); - Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/compute.glsl"); - // Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/debug.glsl"); + // Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/compute.glsl"); + Shader shader("shaders/vertex.vert", "shaders/frag.frag", "shaders/debug.glsl"); GLint max_gpu_size; glGetIntegerv(GL_MAX_SHADER_STORAGE_BLOCK_SIZE, &max_gpu_size); @@ -122,7 +122,7 @@ int main(int argc, char **argv) Camera *camera = scene.getCamera(); // performance profiling - if (false) + if (true) { float time = (float)(glfwGetTime()) ; diff --git a/srcs/class/BVH.cpp b/srcs/class/BVH.cpp index e5befc4..4650fe1 100644 --- a/srcs/class/BVH.cpp +++ b/srcs/class/BVH.cpp @@ -46,7 +46,7 @@ void BVH::updateBounds(std::vector &primitives) void BVH::subdivide(std::vector &primitives) { - if (_primitive_count <= 4) + if (_primitive_count <= 100) return ; glm::vec3 extent = _aabb.max - _aabb.min;