Comments (7)
Hi Wenzel, I can't reproduce the issue on my macbook, unfortunately -- the pixels just keep getting brighter and eventually saturate to white. The attached screen recording is representative of what I see.
Screen.Recording.2022-01-11.at.17.04.07.mov
You can also see flickering that I've started to experience since switching my M1 Max that I mentioned recently. Seems at first like a separate issue (no overflow behavior), but who knows -- might be related in the end.
from tev.
Before I start digging deeper into tev, could you check whether the same overflow occurs when cranking the brightness in one of the nanogui samples? Thanks!
from tev.
It's on a Pro Display XDR in my case, but with the not-quite-latest macOS version (which may be relevant here, Apple has been doing a lot of work on HDR support in the OS). I plan to give this another try with Monterey when I receive my M1 machine in February. (Busy with the SIGGRAPH deadline until then, too .. ;-))
from tev.
Heh, no hurry (and a successful crunch!).
Another thought: if the overflow indeed happens at reasonably large values (e.g. an eye-searing 64k), I'm happy to add clamping in any case -- just let me know if you find a specific value.
from tev.
The magic value seems to be 64, and this fixes it:
diff --git a/src/UberShader.cpp b/src/UberShader.cpp
index 91d9a8a..68b4d88 100644
--- a/src/UberShader.cpp
+++ b/src/UberShader.cpp
@@ -355,9 +355,8 @@ UberShader::UberShader(RenderPass* renderPass) {
),
1.0f
);
- if (clipToLdr) {
- color.rgb = clamp(color.rgb, 0.0f, 1.0f);
- }
+ color.rgb = clamp(color.rgb, clipToLdr ? 0.f : -64.f,
+ clipToLdr ? 1.f : 64.f);
return color;
}
@@ -377,9 +376,8 @@ UberShader::UberShader(RenderPass* renderPass) {
),
1.0f
);
- if (clipToLdr) {
- color.rgb = clamp(color.rgb, 0.0f, 1.0f);
- }
+ color.rgb = clamp(color.rgb, clipToLdr ? 0.f : -64.f,
+ clipToLdr ? 1.f : 64.f);
return color;
})";
#endif
from tev.
FullSizeRender.MOV
Here is that that looks like by the way.
from tev.
Thanks for checking! 64 seems rather low, to be honest, but still a factor of ~4 above what my highest dynamic range display (the laptop) can output. So... I doubt the extra clamp affects anyone as of now. :)
from tev.
Related Issues (20)
- tev won't open EXR's from V-Ray HOT 1
- Issue with Image::to_time_t in Image.cpp (system_exception on Windows 8.1 x64 on VisualStudio 2019) HOT 4
- In network mode, highlight last received packet/block HOT 1
- Tonemapping >> Exposure
- [MacbookPro M1] Image Flicker with Mouse Interaction HOT 3
- [MacbookPro M1] Crash on 16k displacement map HOT 2
- unnable to build on linux HOT 5
- Handling duplicate IPC images
- Aligning images with the reference image manually HOT 1
- Misleading documentation of UpdateImage in python lib. HOT 1
- [Feature Request/Discussion] Support spectral images
- Forcing 10-bit and/or HDR on startup HOT 2
- C++ Error 2 when trying to build on Ubuntu 20.04.4 LTS HOT 2
- unable to install (Ubuntu 20.04) [you have held broken packages]
- [Feature Request/Discussion] Include previewing RGBA channels? HOT 1
- Difference alpha/non-alpha images HOT 2
- [feature request] Add option in GUI to select/ignore channels
- Ctrl+C to copy an image is unreliable HOT 6
- [Discussion] Should "Closing all" respect the current filter? HOT 1
- Saving dialog on Windows HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tev.