From d08e2565ac47280070f65be53c8fe182a5f268b1 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Sat, 29 May 2021 20:21:22 +0200 Subject: [PATCH] Correctly filter the display methods not supported on MacOS --- .../gaia/rendering/renderablegaiastars.cpp | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/modules/gaia/rendering/renderablegaiastars.cpp b/modules/gaia/rendering/renderablegaiastars.cpp index e1a12759f4..2971318b53 100644 --- a/modules/gaia/rendering/renderablegaiastars.cpp +++ b/modules/gaia/rendering/renderablegaiastars.cpp @@ -517,7 +517,6 @@ RenderableGaiaStars::RenderableGaiaStars(const ghoul::Dictionary& dictionary) _renderOption.onChange([&]() { _buffersAreDirty = true; }); addProperty(_renderOption); -#ifndef __APPLE__ _shaderOption.addOptions({ { gaia::ShaderOption::Point_SSBO, "Point_SSBO" }, { gaia::ShaderOption::Point_VBO, "Point_VBO" }, @@ -525,35 +524,35 @@ RenderableGaiaStars::RenderableGaiaStars(const ghoul::Dictionary& dictionary) { gaia::ShaderOption::Billboard_VBO, "Billboard_VBO" }, { gaia::ShaderOption::Billboard_SSBO_noFBO, "Billboard_SSBO_noFBO" } }); -#else // __APPLE__ - _shaderOption.addOptions({ - { gaia::ShaderOption::Point_VBO, "Point_VBO" }, - { gaia::ShaderOption::Billboard_VBO, "Billboard_VBO" }, - }); -#endif // __APPLE__ if (p.shaderOption.has_value()) { switch (*p.shaderOption) { case Parameters::ShaderOption::PointSSBO: _shaderOption = gaia::ShaderOption::Point_SSBO; +#ifdef __APPLE__ + LWARNING("Shader option unsupported, changing to Point VBO"); + _shaderOption = gaia::ShaderOption::Point_VBO; +#endif // __APPLE__ break; case Parameters::ShaderOption::PointVBO: -#ifdef __APPLE__ - throw ghoul::RuntimeError("Shader option is not supported on MacOS"); -#endif // __APPLE__ _shaderOption = gaia::ShaderOption::Point_VBO; break; case Parameters::ShaderOption::BillboardSSBO: _shaderOption = gaia::ShaderOption::Billboard_SSBO; +#ifdef __APPLE__ + LWARNING("Shader option unsupported, changing to Point VBO"); + _shaderOption = gaia::ShaderOption::Point_VBO; +#endif // __APPLE__ break; case Parameters::ShaderOption::BillboardVBO: -#ifdef __APPLE__ - throw ghoul::RuntimeError("Shader option is not supported on MacOS"); -#endif // __APPLE__ _shaderOption = gaia::ShaderOption::Billboard_VBO; break; case Parameters::ShaderOption::BillboardSSBONoFBO: _shaderOption = gaia::ShaderOption::Billboard_SSBO_noFBO; +#ifdef __APPLE__ + LWARNING("Shader option unsupported, changing to Point VBO"); + _shaderOption = gaia::ShaderOption::Point_VBO; +#endif // __APPLE__ break; default: throw ghoul::MissingCaseException();