Go to file
2017-03-09 21:17:55 +00:00
scenes Some stuff 2017-03-09 21:17:55 +00:00
camera.h Some stuff 2017-03-09 21:17:55 +00:00
displayfunc.c Some stuff 2017-03-09 21:17:55 +00:00
displayfunc.h Some stuff 2017-03-09 21:17:55 +00:00
geom.h Some stuff 2017-03-09 21:17:55 +00:00
geomfunc.h Some stuff 2017-03-09 21:17:55 +00:00
glut32.dll Some stuff 2017-03-09 21:17:55 +00:00
LICENSE.txt Some stuff 2017-03-09 21:17:55 +00:00
Makefile Some stuff 2017-03-09 21:17:55 +00:00
preprocessed_rendering_kernel_dl.cl Some stuff 2017-03-09 21:17:55 +00:00
preprocessed_rendering_kernel.cl Some stuff 2017-03-09 21:17:55 +00:00
README.txt Some stuff 2017-03-09 21:17:55 +00:00
rendering_kernel_dl.cl Some stuff 2017-03-09 21:17:55 +00:00
rendering_kernel.cl Some stuff 2017-03-09 21:17:55 +00:00
RUN_SCENE_CORNELL_32SIZE.bat Some stuff 2017-03-09 21:17:55 +00:00
RUN_SCENE_CORNELL_64SIZE_DL.bat Some stuff 2017-03-09 21:17:55 +00:00
RUN_SCENE_CORNELL_64SIZE.bat Some stuff 2017-03-09 21:17:55 +00:00
RUN_SCENE_CORNELL_128SIZE.bat Some stuff 2017-03-09 21:17:55 +00:00
RUN_SCENE_SIMPLE_64SIZE.bat Some stuff 2017-03-09 21:17:55 +00:00
scene_build_complex.pl Some stuff 2017-03-09 21:17:55 +00:00
scene.h Some stuff 2017-03-09 21:17:55 +00:00
simplernd.h Some stuff 2017-03-09 21:17:55 +00:00
smallptCPU Some stuff 2017-03-09 21:17:55 +00:00
smallptCPU.c Some stuff 2017-03-09 21:17:55 +00:00
smallptGPU Some stuff 2017-03-09 21:17:55 +00:00
smallptGPU.c Some stuff 2017-03-09 21:17:55 +00:00
SmallptGPU.exe Some stuff 2017-03-09 21:17:55 +00:00
vec.h Some stuff 2017-03-09 21:17:55 +00:00

SmallptCPU vs. SmallptGPU
=========================

SmallptGPU is a small and simple demo written in OpenCL in order to test the
performance of this new standard. It is based on Kevin Beason's Smallpt available
at http://www.kevinbeason.com/smallpt/
SmallptGPU has been written using the ATI OpenCL SDK 2.0 on Linux but it
should work on any platform/implementation.

glut32.dll has been downloaded from Nate Robins's http://www.xmission.com/~nate/glut.html


How to compile
==============

Just edit the Makefile and use an appropriate value for ATISTREAMSDKROOT.


Key bindings
============

'p' - save image.ppm
ESC - exit
Arrow keys - rotate camera left/right/up/down
'a' and 'd' - move camera left and right
'w' and 's' - move camera forward and backward
'r' and 'f' - move camera up and down
PageUp and PageDown - move camera target up and down
' ' - refresh the window
'+' and '-' - to select next/previous object
'2', '3', '4', '5', '6', '8', '9' - to move selected object

History
=======

V1.6 - Thanks to Jens and all the discussion at http://www.luxrender.net/forum/viewtopic.php?f=21&t=2947&start=240#p29397
now SmallptGPU works fine with MacOS and NVIDIA cards. A bug in the Apple's OpenCL
compiler has been found (http://www.khronos.org/message_boards/viewtopic.php?f=37&t=2148)
and a workaround has been applied to SmallptGPU. Added a new kernel with
direct lighting surface integrator (very fast indeed).

V1.5 - Thanks to discussion at http://forum.beyond3d.com/showthread.php?t=55913
the perfomances on NVIDA GPUs have been improved. They are not yet where they should
be but are lot better now.

V1.4 - Updated for ATI SDK 2.0, fixed a problem in object selection

V1.3 - Jens's patch for MacOS, added on-screen help, fixed performance
estimation, removed movie recording, added on-screen help, added Windows binaries

V1.2 - Indirect diffuse path can be now disabled/enabled (available only
on CPU version because a bug of ATI's compiler), optimized buffers
reallocation, added keys to select/move objects

V1.1 - Fixed few portability problems, added support to save movie, fixed a
problem in window resize code

V1.0 - First release