Age | Commit message (Collapse) | Author |
|
using
a compiler older than CUDA 5.0 it will give a warning and skip this architecture.
|
|
audio strip
|
|
way back to Pentium 4, using a slightly less efficient instruction.
Also ensure /Ox is used for Visual Studio for RelWithDebInfo builds.
|
|
* Add CUDA compiler version detection to cmake/scons/runtime
* Remove noinline in kernel_shader.h and reenable --use_fast_math if CUDA 5.x
is used, these were workarounds for CUDA 4.2 bugs
* Change max number of registers to 32 for sm 2.x (based on performance tests
from Martijn Berger and confirmed here), and also for NVidia OpenCL.
Overall it seems that with these changes and the latest CUDA 5.0 download, that
performance is as good as or better than the 2.67b release with the scenes and
graphics cards I tested.
|
|
Compiler optimization was accidentally set to /Ox for debug build too.
Changed this to be /Od in Debug and /Ox in Release mode.
|
|
* Some tweaks to the material "Settings" panel.
|
|
new BVH traversal code, not just SSE3.
|
|
|
|
needs to include intrin.h for _BitScanForward and _BitScanReverse.
|
|
* GCC needs -mssse3 compile flag too (4.7.2) to compile.
|
|
Embree.
On the BMW scene, this gives roughly a 10% speedup overall with clang/gcc, and 30%
speedup with visual studio (2008). It turns out visual studio was optimizing the
existing code quite poorly compared to pretty good autovectorization by clang/gcc,
but hand written SSE code also gives a smaller speed boost there.
This code isn't enabled when using the hair minimum width feature yet, need to
make that work with the SSE code still.
|
|
material.
|
|
incorrect.
|
|
* Style cleanup for M_PI constants.
* Move Wireframe node into __EXTRA_NODES__ define
|
|
exception.
|
|
|
|
should not be used, same as emissive meshes.
|
|
skip
some unneeded object syncing.
|
|
and sm_30 cards, so hopefully it should all work now.
Also includes some warnings fixes related to nvcc compiler arguments, should make
no difference otherwise.
|
|
|
|
configuration.
|
|
Apparently, it's bad idea to rely on compiler to cast NULL
which is (void*)0 to int -- and in fact if i was a compiler
would also generate an error.
Further, couldn't see why we need to pass NULL or 0 th add_node,
argument value is defautl to 0 already.
|
|
* Added a node to convert wavelength (in nanometers, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier.
* Code cleanup:
** Moved color functions (xyz and hsv) into dedicated utility files.
** Remove svm_lerp(), use interp() instead.
Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Wavelength
Example render:
http://www.pasteall.org/pic/show.php?id=53202
This is part of my GSoC 2013. (revisions 57322, 57326, 57335 and 57367 from soc-2013-dingto).
|
|
|
|
meshes and lamps. The light path node already made this possible but it's a bit
faster to render this way and convenient.
|
|
to be done in cycles itself to keep compatibility for bytecode too.
Also fix broken button to compile OSL from the text editors, this got broken after
recent change to disable editing of library linked nodes.
|
|
for now,
seems to be giving issues with CUDA 4.2 but I can't figure out why exactly.
|
|
rendering even if they were not used on any render layers.
|
|
glossy_toon
but we can keep the old name working too.
|
|
This is a sort of workaround for the lack of APIs in our existing node systems (compositor, cycles, BI, textures). These systems
don't have any way to deal with scripted node types yet, which could in principle by added with pynodes. The NodeCustomGroup type adds a way of scripting nodes by automating node groups which the
hardcoded system can then interpret like regular groups.
The new NodeCustomGroup type has the basic node_tree pointer property like the regular group node types and also uses the same socket interface system as regular groups. This means that input/output
sockets can be mapped to internal nodes in the same way as regular node groups in renderers and the compositor. On top of that, however, the NodeCustomGroup type can be subclassed in python scripts to flesh out
scripted node types with own draw functions, properties, updates and so on.
NB: Only cycles currently supports this node type and its derivatives, other systems may follow later.
|
|
* Added a node to convert wavelength (in nanometer, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier.
Example render:
http://www.pasteall.org/pic/show.php?id=53202
ToDo:
* Move some functions into an util file, maybe a common util_color.h or so.
* Test GPU, unfortunately sm_21 doesn't work for me yet.
|
|
|
|
bug in CUDA 4.2 (solved in 5.5) with typedef'd function parameters.
|
|
* Use float_to_int() functions in a few more places.
|
|
render layers.
|
|
conflicting redefinitions of the SSE functions in windows.h, so we will be using this header instead, since we can't always avoid including it instead of the sse headers.
|
|
opposite of Blender Internal but it makes more sense I think.
|
|
viewport render.
|
|
* Fix for recent commits, ceilf is not available in OpenCL.
|
|
was an old issue since the first version.
|
|
without
multiple importance sampling, so you can disable them for diffuse/glossy/transmission.
The Light Path node here is still weak and does not give this info. To make that
work we'd need to evaluate the shader multiple times which is slow and we can't
detect well enough when it is actually needed.
|
|
instead of sobol. So far one doesn't seem to be consistently better or worse than
the other for the same number of samples but more testing is needed.
The random number generator itself is slower than sobol for most number of samples,
except 16, 64, 256, .. because they can be computed faster. This can probably be
optimized, but we can do that when/if this actually turns out to be useful.
Paper this implementation is based on:
http://graphics.pixar.com/library/MultiJitteredSampling/
Also includes some refactoring of RNG code, fixing a Sobol correlation issue with
the first BSDF and < 16 samples, skipping some unneeded RNG calls and using a
simpler unit square to unit disk function.
|
|
conversion.
|
|
enabled in a render layer a Mist Pass panel will be shown in the world
properties.
|
|
|
|
|
|
* Revert r57203 (len() renaming)
There seems to be a problem with nVidia OpenCL after this and I haven't figured out the real cause yet.
Better to selectively enable native length() later, after figuring out what's wrong.
This fixes [#35612].
|
|
such as motion/uv/normal but they should have been excluded from them.
|
|
|
|
* Rename some math functions:
len -> length
len_squared -> length_squared
normalize_len -> normalize_length
* This way OpenCL uses its inbuilt length() function, rather than our own. The other two functions have been renamed for consistency.
* Tested CPU, CUDA and OpenCL compile, should be no functional changes.
|