added gyro thingy on the top right, attempted to fix Motion blur, (it did not go well 😭)

This commit is contained in:
Anemunt
2025-12-14 17:28:33 -05:00
parent cf63b25b16
commit b6323a0fdc
5 changed files with 439 additions and 43 deletions

View File

@@ -1066,7 +1066,19 @@ PostFXSettings Renderer::gatherPostFX(const std::vector<SceneObject>& sceneObjec
void Renderer::applyPostProcessing(const std::vector<SceneObject>& sceneObjects) {
PostFXSettings settings = gatherPostFX(sceneObjects);
bool wantsEffects = settings.enabled && (settings.bloomEnabled || settings.colorAdjustEnabled || settings.motionBlurEnabled);
GLint polygonMode[2] = { GL_FILL, GL_FILL };
#ifdef GL_POLYGON_MODE
glGetIntegerv(GL_POLYGON_MODE, polygonMode);
#endif
bool wireframe = (polygonMode[0] == GL_LINE || polygonMode[1] == GL_LINE);
bool wantsEffects = settings.enabled &&
(settings.bloomEnabled || settings.colorAdjustEnabled || settings.motionBlurEnabled ||
settings.vignetteEnabled || settings.chromaticAberrationEnabled || settings.ambientOcclusionEnabled);
if (wireframe) {
wantsEffects = false;
}
if (!wantsEffects || !postShader || currentWidth <= 0 || currentHeight <= 0) {
displayTexture = viewportTexture;
@@ -1142,6 +1154,14 @@ void Renderer::applyPostProcessing(const std::vector<SceneObject>& sceneObjects)
postShader->setBool("enableMotionBlur", settings.motionBlurEnabled);
postShader->setFloat("motionBlurStrength", settings.motionBlurStrength);
postShader->setBool("hasHistory", historyValid);
postShader->setBool("enableVignette", settings.vignetteEnabled);
postShader->setFloat("vignetteIntensity", settings.vignetteIntensity);
postShader->setFloat("vignetteSmoothness", settings.vignetteSmoothness);
postShader->setBool("enableChromatic", settings.chromaticAberrationEnabled);
postShader->setFloat("chromaticAmount", settings.chromaticAmount);
postShader->setBool("enableAO", settings.ambientOcclusionEnabled);
postShader->setFloat("aoRadius", settings.aoRadius);
postShader->setFloat("aoStrength", settings.aoStrength);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, viewportTexture);