blender/intern/cycles/blender
Sergey Sharybin 272412f9c0 Cycles: Implement texture size limit simplify option
Main intention is to give some quick way to control scene's memory
usage by clamping textures which are too big. This is really handy
on the early production stages when you first create really nice
looking hi-res textures and only when it all works and approved
start investing time on optimizing your scene.

This is a new option in Scene Simplify panel and it acts as
following: when texture size is bigger than the given value it'll
be scaled down by half for until it fits into given limit.

There are various possible improvements, such as:

- Use threaded scaling using our own task manager.

  This is actually one of the main reasons why image resize is
  manually-implemented instead of using OIIO's resize. Other
  reason here is that API seems limited to construct 3D texture
  description easily.

- Vectorization of uchar4/float4/half4 textures.

- Use something smarter than box filter.

  Was playing with some other filters, but not sure they are
  really better: they kind of causes more fuzzy edges.

Even with such a TODOs in the code the option is already quite
useful.

Reviewers: brecht

Reviewed By: brecht

Subscribers: jtheninja, Blendify, gregzaal, venomgfx

Differential Revision: https://developer.blender.org/D2362
2016-11-22 12:00:09 +01:00
..
addon Cycles: Implement texture size limit simplify option 2016-11-22 12:00:09 +01:00
blender_camera.cpp Code refactor: nodify Cycles camera and fix some mistakes in XML node read. 2016-05-28 14:07:19 +02:00
blender_curves.cpp Fix broken Cycles curve motion radius after recent refactor, and fix warnings. 2016-05-31 00:21:33 +02:00
blender_logging.cpp Cycles: Fully support WITH_CYCLES_LOGGING option 2015-01-01 01:31:07 +05:00
blender_mesh.cpp Cycles: Cleanup, style 2016-10-24 12:26:12 +02:00
blender_object.cpp Cycles: refactor culling code into utility class. 2016-11-20 15:25:47 +01:00
blender_particles.cpp Fix T49163: let Cycles only hide particles with missing motion data, not regular objects. 2016-08-28 21:26:03 +02:00
blender_python.cpp Cycles: Refactor Device selection to allow individual GPU compute device selection 2016-11-07 03:19:29 +01:00
blender_session.cpp Cycles: Different noise seed for stereoscopic rendering (Fix #T50024) 2016-11-18 18:23:52 +01:00
blender_session.h Cycles: Resumable render implementation for Cycles 2016-03-30 16:02:27 +02:00
blender_shader.cpp Cycles: Remove explicit std:: from types where possible 2016-10-24 12:31:11 +02:00
blender_sync.cpp Cycles: Implement texture size limit simplify option 2016-11-22 12:00:09 +01:00
blender_sync.h Cycles: refactor culling code into utility class. 2016-11-20 15:25:47 +01:00
blender_texture.cpp Cycles: Pass Blender's C++ RNA structures by reference 2016-01-30 15:08:57 +01:00
blender_texture.h Cycles: Pass Blender's C++ RNA structures by reference 2016-01-30 15:08:57 +01:00
blender_util.h Cycles: Fix typo that would sometimes result in subsurf modifier being disabled 2016-09-18 22:14:15 -04:00
CCL_api.h Cycles: Refactor Device selection to allow individual GPU compute device selection 2016-11-07 03:19:29 +01:00
CMakeLists.txt Code refactor: add generic Cycles node infrastructure. 2016-05-22 17:29:24 +02:00