Skip to content

Commit

Permalink
Make radiance values to be in sRGB colorspace by default
Browse files Browse the repository at this point in the history
This is an unfortunate consequence of QColor having no notion of colorspace and its usage patterns being strongly biased towards sRGB. All color values are transformed back to linear space for rendering.
  • Loading branch information
Nadrin committed Mar 5, 2019
1 parent 0cadc23 commit 178ce20
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 2 deletions.
3 changes: 3 additions & 0 deletions src/raytrace/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ set(SOURCES_PRIVATE
qt3draytrace_global_p.h
qraytraceaspect.cpp
qraytraceaspect_p.h
qt3draytracecontext.cpp
frontend/qgeometryrenderer.cpp
frontend/qgeometryrenderer_p.h
frontend/qgeometry.cpp
Expand Down Expand Up @@ -83,11 +84,13 @@ set(SOURCES_PRIVATE

set(SOURCES_PUBLIC
${MODULE_API}/qt3draytrace_global.h
${MODULE_API}/qt3draytracecontext.h
${MODULE_API}/qraytraceaspect.h
${MODULE_API}/qgeometryrenderer.h
${MODULE_API}/qgeometry.h
${MODULE_API}/qgeometrydata.h
${MODULE_API}/qgeometryfactory.h
${MODULE_API}/qcolorspace.h
${MODULE_API}/qmesh.h
${MODULE_API}/qmaterial.h
${MODULE_API}/qdistantlight.h
Expand Down
2 changes: 1 addition & 1 deletion src/raytrace/backend/distantlight_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class DistantLight : public BackendNode

LinearColor radiance() const
{
return LinearColor(m_color, m_intensity);
return LinearColor::from_sRgb(m_color, m_intensity);
}
QVector3D direction() const
{
Expand Down
2 changes: 1 addition & 1 deletion src/raytrace/backend/rendersettings_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class RenderSettings : public BackendNode

LinearColor skyRadiance() const
{
return LinearColor(m_skyColor, m_skyIntensity);
return LinearColor::from_sRgb(m_skyColor, m_skyIntensity);
}

float skyIntensity() const { return m_skyIntensity; }
Expand Down

0 comments on commit 178ce20

Please sign in to comment.