Hosek/Wilkie sky model weird coloration #50458

Closed
opened 6 years ago by Alex-9 · 14 comments
Alex-9 commented 6 years ago

System Information
Widnows 10, ATI HD7750

Blender Version
2.78a

Short description of error
Hosek/Wilkie sky model has wrong "greeny" sun glow coloration. It's visible with turbidity set to 2, 4 and 6. That halo should be white-blue. Ground color can be set from 0.0 to 1.0 so it should be always "grey" but when turbidity is set about 8 changing ground albedo causes ground coloration from pink to blue. Besides original model allows to set RGB ground color, in blender only monochromatic albedo can be set.
Here is original model documentation and none of this can be seen (please take a look @ page 9 for albedo setting):
http://cgg.mff.cuni.cz/projects/SkylightModelling/HosekWilkie_SkylightModel_SIGGRAPH2012_Preprint_lowres.pdf
I think that original sky model was introduced in blender in 2012 but model was updated later and not updated in blender.
Additionally some enhancements could be made:

Exact steps for others to reproduce the error
Please open attached file. It's simplest "cube" scene with two cameras pointing sky and ground. Just render and see.

**System Information** Widnows 10, ATI HD7750 **Blender Version** 2.78a **Short description of error** Hosek/Wilkie sky model has wrong "greeny" sun glow coloration. It's visible with turbidity set to 2, 4 and 6. That halo should be white-blue. Ground color can be set from 0.0 to 1.0 so it should be always "grey" but when turbidity is set about 8 changing ground albedo causes ground coloration from pink to blue. Besides original model allows to set RGB ground color, in blender only monochromatic albedo can be set. Here is original model documentation and none of this can be seen (please take a look @ page 9 for albedo setting): http://cgg.mff.cuni.cz/projects/SkylightModelling/HosekWilkie_SkylightModel_SIGGRAPH2012_Preprint_lowres.pdf I think that original sky model was introduced in blender in 2012 but model was updated later and not updated in blender. Additionally some enhancements could be made: - Sun color node. That would control temperature and intensity of sun depending on angle and turbidity to get near-natural complete sun-sky lighting (now we have to eyeball sun temperature and intensity). That could also control "limb darkening" effect as in original model: (from: http://cgg.mff.cuni.cz/projects/SkylightModelling/ ): http://cgg.mff.cuni.cz/projects/SkylightModelling/SunCloseup_005_06.jpg http://cgg.mff.cuni.cz/projects/SkylightModelling/SunCloseup_0025_07.jpg - Allow direct visibility of sun lightsource to allow bloom/glare do their job and make nice sunstars directly in compositor **Exact steps for others to reproduce the error** Please open attached file. It's simplest "cube" scene with two cameras pointing sky and ground. Just render and see.
Alex-9 commented 6 years ago
Poster

Changed status to: 'Open'

Changed status to: 'Open'
Alex-9 commented 6 years ago
Poster

Added subscriber: @Alex-9

Added subscriber: @Alex-9
Alex-9 commented 6 years ago
Poster

sky_bug.blend

sky_bug_t02.jpg

sky_bug_t04.jpg

sky_bug_t06.jpg

sky_bug_t08_g10.jpg

sky_bug_t08_g06.jpg

sky_bug_t08_g00.jpg

sky_bug_t08_g03.jpg

Here is a video showing how it should look (not mine):
https://www.youtube.com/watch?v=DKjquLIe-d4

[sky_bug.blend](https://archive.blender.org/developer/F435369/sky_bug.blend) ![sky_bug_t02.jpg](https://archive.blender.org/developer/F435362/sky_bug_t02.jpg) ![sky_bug_t04.jpg](https://archive.blender.org/developer/F435365/sky_bug_t04.jpg) ![sky_bug_t06.jpg](https://archive.blender.org/developer/F435364/sky_bug_t06.jpg) ![sky_bug_t08_g10.jpg](https://archive.blender.org/developer/F435368/sky_bug_t08_g10.jpg) ![sky_bug_t08_g06.jpg](https://archive.blender.org/developer/F435367/sky_bug_t08_g06.jpg) ![sky_bug_t08_g00.jpg](https://archive.blender.org/developer/F435363/sky_bug_t08_g00.jpg) ![sky_bug_t08_g03.jpg](https://archive.blender.org/developer/F435366/sky_bug_t08_g03.jpg) Here is a video showing how it should look (not mine): https://www.youtube.com/watch?v=DKjquLIe-d4
Collaborator

Added subscriber: @Blendify

Added subscriber: @Blendify
Collaborator

Moving to the todo list for now.

Moving to the todo list for now.
Collaborator

Added subscribers: @Sergey, @ThomasDinges

Added subscribers: @Sergey, @ThomasDinges
Alex-9 commented 6 years ago
Poster

I think it's related:
Luxrender currently has option for custom ground color, really nice feature for larger scenes where there is need to model plane to hide sky leaking from ground. It works independently to albedo.

I think it's related: Luxrender currently has option for custom ground color, really nice feature for larger scenes where there is need to model plane to hide sky leaking from ground. It works independently to albedo.
tonemgub commented 6 years ago (Migrated from localhost:3001)
Collaborator

Added subscriber: @tonemgub

Added subscriber: @tonemgub
tonemgub commented 6 years ago (Migrated from localhost:3001)
Collaborator

sun is not available maybe but in luxrender(spectral) it is

ArHosekSkyModel.h Version: 1.4a, 2013-02feb

Solar Radiance Function

For each position on the solar disc, this function returns the entire radiance
one sees - direct emission, as well as in-scattered light in the area of the
solar disc. The latter is important for low solar elevations - nice images of
the setting sun would not be possible without this. This is also the reason why
this function, just like the regular sky dome model evaluation function, needs
access to the sky dome data structures, as these provide information on
in-scattered radiance.

CAVEAT : in this release, this function is only provided in spectral form!
RGB/XYZ versions to follow at a later date.

luxrender allows optional show only
atmosphere, atmosphere+sun, sun-noSky(innacurrate, lacks attenuation)

but allowing to specify as separate objects would that allow for multi-importance optimizations?

sun is not available maybe but in luxrender(spectral) it is ArHosekSkyModel.h Version: 1.4a, 2013-02feb > Solar Radiance Function > ----------------------- > > For each position on the solar disc, this function returns the entire radiance > one sees - direct emission, as well as in-scattered light in the area of the > solar disc. The latter is important for low solar elevations - nice images of > the setting sun would not be possible without this. This is also the reason why > this function, just like the regular sky dome model evaluation function, needs > access to the sky dome data structures, as these provide information on > in-scattered radiance. > > CAVEAT : in this release, this function is only provided in spectral form! > RGB/XYZ versions to follow at a later date. > luxrender allows optional show only atmosphere, atmosphere+sun, sun-noSky(innacurrate, lacks attenuation) but allowing to specify as separate objects would that allow for multi-importance optimizations?
tonemgub commented 6 years ago (Migrated from localhost:3001)
Collaborator

the werid below-ground color

isn't that irrelevant?
i don't think anything below the horizon is supposed to be real data,
from the paper it seems it a model-function(faster,efficient) that is designed to fit their simulated(slow) data

albedo

ground sky.exr

color-ground.png

ground sky.jpg (blocky ico-polysphere is ground-color)

no it essentially means reflected-color here (same as 3 separate albedo's for RGB), not fully implemented in blender
, and recently in luxr1.6

> the werid below-ground color isn't that irrelevant? i don't think anything below the horizon is supposed to be real data, from the paper it seems it a model-function(faster,efficient) that is designed to fit their simulated(slow) data > albedo ![ground sky.exr](https://archive.blender.org/developer/F640311/ground_sky.exr) ![color-ground.png](https://archive.blender.org/developer/F640310/color-ground.png) ![ground sky.jpg](https://archive.blender.org/developer/F640309/ground_sky.jpg) (blocky ico-polysphere is ground-color) no it essentially means reflected-color here (same as 3 separate albedo's for RGB), not fully implemented in blender , and recently in luxr1.6
tonemgub commented 6 years ago (Migrated from localhost:3001)
Collaborator
[innac shd.blend](https://archive.blender.org/developer/F640375/innac_shd.blend)

Added subscriber: @nacioss

Added subscriber: @nacioss

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'
nacioss closed this issue 3 years ago
nacioss self-assigned this 3 years ago

Closing as it's a known limitation of the implemented model, checked the code and it doesn't seem to have issues at all, the code is equal to the official Hosek/Wilkie code.
And on top of that, the ground is not meant to be accurate at all.
Maybe @ThomasDinges can say something since he implemented it.

Closing as it's a known limitation of the implemented model, checked the code and it doesn't seem to have issues at all, the code is equal to the official Hosek/Wilkie code. And on top of that, the ground is not meant to be accurate at all. Maybe @ThomasDinges can say something since he implemented it.
Sign in to join this conversation.
No Label
Interest/Alembic
Interest/Animation & Rigging
Interest/Asset Browser
Interest/Asset Browser Project Overview
Interest/Audio
Interest/Automated Testing
Interest/Blender Asset Bundle
Interest/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
Interest/Eevee & Viewport
Interest/Freestyle
Interest/Geometry Nodes
Interest/Grease Pencil
Interest/ID Management
Interest/Images & Movies
Interest/Import/Export
Interest/Line Art
Interest/Masking
Interest/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
Interest/Python API
Interest/Render & Cycles
Interest/Render Pipeline
Interest/Sculpt, Paint & Texture
Interest/Text Editor
Interest/Translations
Interest/Triaging
Interest/Undo
Interest/USD
Interest/User Interface
Interest/UV Editing
Interest/VFX & Video
Interest/Video Sequencer
Interest/Virtual Reality
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
Module › Animation & Rigging
Module › Core
Module › Development Management
Module › Eevee & Viewport
Module › Grease Pencil
Module › Modeling
Module › Nodes & Physics
Module › Pipeline, Assets & IO
Module › Platforms, Builds, Tests & Devices
Module › Python API
Module › Render & Cycles
Module › Sculpt, Paint & Texture
Module › Triaging
Module › User Interface
Module › VFX & Video
Platform/FreeBSD
Platform/Linux
Platform/macOS
Platform/Windows
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#50458
Loading…
There is no content yet.