MrKepzie / Natron

Open-source compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
www.natron.fr
GNU General Public License v2.0
1.49k stars 164 forks source link

Separate R,G,B channel is cached again. #188

Closed mifth closed 6 years ago

mifth commented 10 years ago

Hi.

I found - if i switch channels - the going to be cached again. But i guess they are already cached in the RGBA-Cache. Is it an issue?

Here the test: http://youtu.be/h-VCOUkjnF0

MrKepzie commented 10 years ago

Yes perfectly normal, in fact the image is already cached, but the texture displayed is not, hence it is adding a texture to the texture cache (also called ViewerCache).

mifth commented 10 years ago

For RGB channels - Can the Viewer just take one channel and set it to all channels? For example it would be simplier through OpenGL/GLSL. There will be no need to recache separete r/g/b channels again.

MrKepzie commented 10 years ago

This is done this way already. But we cache it for maximum playback efficiency. Also bear in mind we also support graphic cards that don't support GLSL.

On Sep 3, 2014, at 10:11 AM, mifth notifications@github.com wrote:

For RGB channels - Can the Viewer just take one channel and set it to all channels? For example it would be simplier through OpenGL/GLSL. There will be no ned to recache separete r/g/b channels again.

— Reply to this email directly or view it on GitHub.

mifth commented 10 years ago

I don't this this is good way to recache one separete channel. Nowadays this is not good efficensy, imho. I know you support old machines. But my 5 years old machine support OpenGL3.3. And that was not the best videocard at those times.

I think you need to Up settings for Natron. Blender right now Up its settings. It will not support old machins soon.

MrKepzie commented 10 years ago

I come from a school where there was a shitty old OpenGL on computers and no GLSL. Your 5 years old machine probably has a nvidia or ati gpu inside but not everyone has a gpu in his computer. I agree though, The only thing we could do is just do the pixel shuffling in the shader when there's no GLSL

mifth commented 10 years ago

:) Thanks for reopening.

I have nVidia GTS 250 at home. Which has no gpu. Only Cuda 1.1 - which is not usable at all nowadays.

olear commented 10 years ago

@mifth : Any links/info regarding the new requirements in Blender?

Natron should keep the current requirements, bumping OpenGL above 2.0 will break many GPUs (everything using open source drivers, Intel cards etc).

mifth commented 10 years ago

Requirements right now: http://www.blender.org/download/requirements/ Also, right now blender does not support WinwsXP anymore.

And new update will be: http://download.blender.org/institute/sig2014-1.pdf Page 17 "Viewport and Opengl Upgrade" in nearest future.

mifth commented 10 years ago

@olear for Natron's viewport to show one separete channel it's ok Opengl 2.0. I guess @MrKepzie wants to support cards which are less than 2.0. I think minimum should be 2.0.

olear commented 10 years ago

Nuke is unusable (crash) on my laptop (OpenGL 2.1), and they support OpenGL 2.0+. Don't know if that is related to Nuke or OpenGL, but Natron (OpenGL 1.5ish+) and Shake (OpenGL 1.2+) works flawless on the same machine.

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset 
OpenGL version string: 2.1 Mesa 9.2.0-devel
OpenGL shading language version string: 1.20

I'm for bumping to 2.0 if enough features justify the move.

mifth commented 10 years ago

+1. I'm for 2.0+ too. Opengl 1.5 is 15 years old video cards. Sure they can be in schools. But i think such machines are not usable for video production.

2.0+ is good.

devernay commented 10 years ago

R, G, and B can be done without recomputing the texture in OpenGL 1.1 using GL_MODULATE to combine the original texture with a pure color. Maybe there could be similar tricks for luminance and alpha.

devernay commented 6 years ago

This issue was moved to NatronGitHub/Natron#86