commit CalcMySky for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package CalcMySky for openSUSE:Factory checked in at 2024-06-24 20:56:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/CalcMySky (Old) and /work/SRC/openSUSE:Factory/.CalcMySky.new.18349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "CalcMySky" Mon Jun 24 20:56:32 2024 rev:5 rq:1182979 version:0.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/CalcMySky/CalcMySky.changes 2023-10-13 23:16:22.410720206 +0200 +++ /work/SRC/openSUSE:Factory/.CalcMySky.new.18349/CalcMySky.changes 2024-06-24 20:58:01.350653991 +0200 @@ -1,0 +2,10 @@ +Mon Jun 17 08:45:09 UTC 2024 - Paolo Stivanin <info@paolostivanin.com> + +- Update to 0.3.2: + * The pseudo-reflection of the sky used by Stellarium now + doesn't have the solar aureole, which looked strange + (the actual aureole in the sky is retained); + * Added support for GLM 1.0.0, which requires a macro + to be defined to use experimental features. + +------------------------------------------------------------------- Old: ---- CalcMySky-0.3.1.tar.gz New: ---- CalcMySky-0.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ CalcMySky.spec ++++++ --- /var/tmp/diff_new_pack.Ifzmbr/_old 2024-06-24 20:58:01.794670215 +0200 +++ /var/tmp/diff_new_pack.Ifzmbr/_new 2024-06-24 20:58:01.794670215 +0200 @@ -1,7 +1,7 @@ # # spec file for package CalcMySky # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,7 +28,7 @@ %endif Name: CalcMySky -Version: 0.3.1 +Version: 0.3.2 Release: 0 Summary: Software package that simulates scattering of light by the atmosphere License: GPL-3.0-or-later ++++++ CalcMySky-0.3.1.tar.gz -> CalcMySky-0.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/.appveyor.yml new/CalcMySky-0.3.2/.appveyor.yml --- old/CalcMySky-0.3.1/.appveyor.yml 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/.appveyor.yml 2024-03-10 17:00:14.000000000 +0100 @@ -18,7 +18,7 @@ - BUILD_NAME: Win64 Qt6 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 CMAKE_GENERATOR: Visual Studio 16 2019 - QT_BASEDIR: C:/Qt/6.3/msvc2019_64 + QT_BASEDIR: C:/Qt/6.5/msvc2019_64 QT_VERSION_MAJOR: 6 BITS: 64 - BUILD_NAME: Ubuntu amd64 Qt5 @@ -27,7 +27,7 @@ QT_VERSION_MAJOR: 5 - BUILD_NAME: Ubuntu amd64 Qt6 APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - QT_BASEDIR: /home/appveyor/Qt/6.3/gcc_64 + QT_BASEDIR: /home/appveyor/Qt/6.5/gcc_64 QT_VERSION_MAJOR: 6 - BUILD_NAME: macOS amd64 Qt5 APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey @@ -90,7 +90,7 @@ only: - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 install: - - sudo apt-get update + - sudo apt-get update --allow-releaseinfo-change - if [[ $QT_VERSION_MAJOR = 5 ]]; then sudo apt-get install -y libeigen3-dev libglm-dev libqt5opengl5-dev; fi - if [[ $QT_VERSION_MAJOR = 6 ]]; then sudo apt-get install -y libeigen3-dev libglm-dev libgl1-mesa-dev; fi before_build: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/CMakeLists.txt new/CalcMySky-0.3.2/CMakeLists.txt --- old/CalcMySky-0.3.1/CMakeLists.txt 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/CMakeLists.txt 2024-03-10 17:00:14.000000000 +0100 @@ -3,7 +3,7 @@ cmake_policy(SET CMP0110 OLD) endif() -set(staticProjectVersion 0.3.1) +set(staticProjectVersion 0.3.2) project(CalcMySky VERSION ${staticProjectVersion} LANGUAGES CXX) set(CMAKE_FIND_USE_PACKAGE_REGISTRY false) @@ -78,7 +78,7 @@ endif() include_directories(${CMAKE_BINARY_DIR}) -if(WIN32) +if(WIN32 AND (NOT MINGW)) set(shadersDestPath "${CMAKE_PROJECT_NAME}") set(installBinDir "${CMAKE_PROJECT_NAME}") set(installLibDir "${installBinDir}") @@ -111,9 +111,9 @@ # The first command is a dummy, it doesn't actually create its output: it's # only needed to force re-running of gen_version.cmake for the case when we've changed # the version but didn't touch other dependencies. -add_custom_command(OUTPUT "${PROJECT_BINARY_DIR}/check version update" COMMAND $<IF:$<BOOL:${WIN32}>,echo.,true>) +add_custom_command(OUTPUT "${PROJECT_BINARY_DIR}/check-version-update" COMMAND $<IF:$<BOOL:${WIN32}>,echo.,true>) add_custom_command(OUTPUT "${PROJECT_BINARY_DIR}/version.cpp" - DEPENDS "${PROJECT_BINARY_DIR}/check version update" + DEPENDS "${PROJECT_BINARY_DIR}/check-version-update" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" COMMAND "${CMAKE_COMMAND}" -D "staticVersion=${staticProjectVersion}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/ShowMySky/CMakeLists.txt new/CalcMySky-0.3.2/ShowMySky/CMakeLists.txt --- old/CalcMySky-0.3.1/ShowMySky/CMakeLists.txt 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/ShowMySky/CMakeLists.txt 2024-03-10 17:00:14.000000000 +0100 @@ -49,7 +49,7 @@ endif() set_target_properties(${showmyskyTarget} PROPERTIES OUTPUT_NAME showmysky) -if(WIN32) +if(WIN32 AND (NOT MINGW)) # Default subsystem is console. We don't want the console window to appear, so tweak linker parameters. set_target_properties(${showmyskyTarget} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/ShowMySky/GLWidget.cpp new/CalcMySky-0.3.2/ShowMySky/GLWidget.cpp --- old/CalcMySky-0.3.1/ShowMySky/GLWidget.cpp 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/ShowMySky/GLWidget.cpp 2024-03-10 17:00:14.000000000 +0100 @@ -5,6 +5,7 @@ #include <QFileDialog> #include <QMessageBox> #include <QSurfaceFormat> +#define GLM_ENABLE_EXPERIMENTAL #include <glm/gtx/transform.hpp> #include "../common/util.hpp" #include "../common/const.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/common/EclipsedDoubleScatteringPrecomputer.cpp new/CalcMySky-0.3.2/common/EclipsedDoubleScatteringPrecomputer.cpp --- old/CalcMySky-0.3.1/common/EclipsedDoubleScatteringPrecomputer.cpp 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/common/EclipsedDoubleScatteringPrecomputer.cpp 2024-03-10 17:00:14.000000000 +0100 @@ -3,6 +3,7 @@ #include <iostream> #include <chrono> +#define GLM_ENABLE_EXPERIMENTAL #include <glm/gtx/transform.hpp> #include <QFile> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CalcMySky-0.3.1/shaders/render.frag new/CalcMySky-0.3.2/shaders/render.frag --- old/CalcMySky-0.3.1/shaders/render.frag 2023-06-15 21:21:38.000000000 +0200 +++ new/CalcMySky-0.3.2/shaders/render.frag 2024-03-10 17:00:14.000000000 +0100 @@ -92,6 +92,8 @@ viewRayIntersectsGround=true; } + bool viewingPseudoMirror = false; + float pseudoMirrorDepth = 0; // Stellarium wants to display a sky-like view when ground is hidden. // Aside from aesthetics, this affects brightness input to Stellarium's tone mapper. if(pseudoMirrorSkyBelowHorizon && viewRayIntersectsGround) @@ -117,11 +119,28 @@ viewDir += zenith*cosViewZenithAngle; } viewRayIntersectsGround = false; + viewingPseudoMirror = true; + + // The first factor here, with dot(view,sun), results in removal of the + // forward scattering peak. The second factor, with tanh, makes the + // transition near sunset from a bit above horizon to a bit below smoother. + // We limit the argument of tanh, because some GLSL implementations (e.g. + // AMD Radeon RX 5700 XT) overflow when computing it and yield NaN. + pseudoMirrorDepth = sqr(max(0, dot(viewDir, sunDirection))) * + tanh(min(10, 150 * (newViewElev - horizElev) / (PI/2 - horizElev))); } CONST float cosSunZenithAngle =dot(zenith,sunDirection); CONST float dotViewSun=dot(viewDir,sunDirection); +#if RENDERING_ANY_SINGLE_SCATTERING + vec4 phaseFuncValue = currentPhaseFunction(dotViewSun); + if(viewingPseudoMirror) + { + phaseFuncValue = mix(phaseFuncValue, 1/vec4(4*PI), pseudoMirrorDepth); + } +#endif + CONST vec3 sunXYunnorm=sunDirection-dot(sunDirection,zenith)*zenith; CONST vec3 viewXYunnorm=viewDir-dot(viewDir,zenith)*zenith; CONST vec3 sunXY = sunXYunnorm.x!=0 || sunXYunnorm.y!=0 || sunXYunnorm.z!=0 ? normalize(sunXYunnorm) : vec3(0); @@ -191,7 +210,7 @@ #elif RENDERING_ECLIPSED_SINGLE_SCATTERING_ON_THE_FLY CONST vec4 scattering=computeSingleScatteringEclipsed(cameraPosition,viewDir,sunDirection,moonPosition, viewRayIntersectsGround); - vec4 radiance=scattering*currentPhaseFunction(dotViewSun); + vec4 radiance=scattering*phaseFuncValue; radiance*=solarIrradianceFixup; luminance=radianceToLuminance*radiance; radianceOutput=radiance; @@ -203,7 +222,7 @@ // 0). This happens when I simply call texture(eclipsedScatteringTexture, texCoords) without specifying LOD. // Apparently, the driver uses the derivative for some reason, even though it shouldn't. CONST vec4 scattering = textureLod(eclipsedScatteringTexture, texCoords, 0); - vec4 radiance=scattering*currentPhaseFunction(dotViewSun); + vec4 radiance=scattering*phaseFuncValue; radiance*=solarIrradianceFixup; luminance=radianceToLuminance*radiance; radianceOutput=radiance; @@ -215,7 +234,7 @@ // 0). This happens when I simply call texture(eclipsedScatteringTexture, texCoords) without specifying LOD. // Apparently, the driver uses the derivative for some reason, even though it shouldn't. CONST vec4 scattering = textureLod(eclipsedScatteringTexture, texCoords, 0); - luminance=scattering*currentPhaseFunction(dotViewSun); + luminance=scattering*phaseFuncValue; #elif RENDERING_ECLIPSED_DOUBLE_SCATTERING_PRECOMPUTED_RADIANCE vec4 radiance=exp(sampleEclipseDoubleScattering3DTexture(eclipsedDoubleScatteringTexture, cosSunZenithAngle, cosViewZenithAngle, azimuthRelativeToSun, @@ -230,7 +249,7 @@ #elif RENDERING_SINGLE_SCATTERING_ON_THE_FLY CONST vec4 scattering=computeSingleScattering(cosSunZenithAngle,cosViewZenithAngle,dotViewSun, altitude,viewRayIntersectsGround); - vec4 radiance=scattering*currentPhaseFunction(dotViewSun); + vec4 radiance=scattering*phaseFuncValue; radiance*=solarIrradianceFixup; luminance=radianceToLuminance*radiance; radianceOutput=radiance; @@ -247,7 +266,7 @@ scattering = sample3DTexture(scatteringTexture, cosSunZenithAngle, cosViewZenithAngle, dotViewSun, altitude, viewRayIntersectsGround); } - vec4 radiance=scattering*currentPhaseFunction(dotViewSun); + vec4 radiance=scattering*phaseFuncValue; radiance*=solarIrradianceFixup; luminance=radianceToLuminance*radiance; radianceOutput=radiance; @@ -264,7 +283,7 @@ scattering = sample3DTexture(scatteringTexture, cosSunZenithAngle, cosViewZenithAngle, dotViewSun, altitude, viewRayIntersectsGround); } - luminance=scattering * (bool(PHASE_FUNCTION_IS_EMBEDDED) ? vec4(1) : currentPhaseFunction(dotViewSun)); + luminance=scattering * (bool(PHASE_FUNCTION_IS_EMBEDDED) ? vec4(1) : phaseFuncValue); #elif RENDERING_MULTIPLE_SCATTERING_LUMINANCE luminance=sample3DTexture(scatteringTexture, cosSunZenithAngle, cosViewZenithAngle, dotViewSun, altitude, viewRayIntersectsGround); #elif RENDERING_MULTIPLE_SCATTERING_RADIANCE
participants (1)
-
Source-Sync