Привет котятки, добавил возможность менять размер пикселя, это нужно для поднятия производительности
Изображение рендерится в меньшем масштабе, а затем растягивается до размера экрана, следовательно нам надо посчитать меньше лучей => более высокий фпс
К примеру если размер экрана равен 1920х1018
• то при размере пикселя 1, стартовых лучей будет 1920*1080 = 1 954 560
• если же мы возьмем размер пикселя равный двум, то размер изображения будет равен (1920х1018)/2 = 960х509, а следовательно стартовых лучей стало 960*509 = 488 640, что в 4 раза меньше чем изначально
Проще говоря формула тут очень простая, кол-во лучей станет меньше в ((размер пикселя) * (размер пикселя))
То есть для 8*8 кол-во лучей станет в 16 раз меньше чем при 1*1, при том же размере экрана
Но ведь если мы уменьшаем размер картинки разве она не будет пикселизованной? И да, и нет
Из-за того что я выполняю мультисэмплирование и собираю множество кадров в один, оно сглаживает пикселизацию, из-за чего например при размерах 2*2 почти не заметно что пиксель не равен 1*1, а прирост производительности 4-ых кратный
Ниже приложил 4 скриншота, где вы можете сравнить разные размеры пикселя, а так же две гифки: одна как выглядит смена размера пикселя в редакторе (там нет мультисэмплирования поэтому пиксели очень четко видно), и в режиме трассировки пути
Гифки для более хорошего качества лучше открывать в новой вкладке как документ
___________________________________
#Raytracing@kotolentin