|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
(Sorry it took me so long to respond, our internet connection was down
for a while).
While the OpenCL spec is very exciting for the GPGPU effort, it will not
help renderers such as POV-Ray. Ultimately, they still come down to a
SIMD design: specify one instruction (or one set of instructions), and
run it on multiple sets of data.
In practice, this means that anything with a high degree of branching
(ie POV-Ray) won't benefit nearly as much.
Of course, the new GPUs are more capable than ever, and they do offer
double precision floating point, so it may at one point be possible for
limited aspects of the renderer. However, bear in mind that even
something as inherently SIMD as video encoding, using a high end GPU
from NVidia (the GeForce 260) was actually *slower* than a stock Core 2
Duo from Intel (1). Something with as much branching as POV-Ray will
perform even worse.
So, there's new hope for the future, but it's still a *distant* future.
(1)
http://xtreview.com/addcomment-id-6872-view-CUDA-video-performance-using
-TMPGEnc-4.0-Xpress.html
...Ben Chambers
www.pacificwebguy.com
The plural of anecdote is not data --Elbows
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
For what I have read about it, GPUs are great for geometry and some
other graphic related calculations, because they have more sophisticated
hardwired, say trigonometric, functions that the FPU simply doesn't
have, this leads me to ask the experienced programmers here if how huge
would be to make a rough "previewer", real-time if possibile, for
POV-Ray? Correct me if I'm wrong but at some point that effort has to be
easy because the GPU have this scene elements analog to POV-Ray's
(lightning, primitives, colors, phong, diffuse, etc.), why is so hard to
use resemblance in features to POV-Ray's favor? I know... is only 32-bit
precision, is not 100% compatible, POV-Rays is Hyper-complex and
wealthy-rich in features but, somehow can't the to GPU along with the
FPU & CPU can't get to cut a deal that can give u an estimate of what
you'll receive if the scene is rendered?
I really whish I could answer this myself...maybe a como of GPU
features can give some of the most complex POV-Ray's features? maybe a
rough rough preview, something that can "guess"(fast calculations with
GPU+FPU+CPU) to get just an estimation of the final colors and effects
on the objects, and mainly this could be used to preview the modeled
geometry of solids and surfaces and the lighting on the scene, rather
than actually have a correct colored accurate scene, don't you think?
Another suggestion, what about this:
a small floating window (maybe 512*384 or 384*288) with the title "rough
preview" that makes the GPU+FPU+CPU preview of the scene as ral-time as
possible "while you type" or when you have finished a valid line, this
could be configurable, but I think would be great as a default.
This ideas is so incompatible with reality? I hope not, you tell me :)
Regards.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In the spirit of co-processing (GPU+FPU+CPU) I would like to suggest
that if isn't too much of a trouble, would be great if POV-Ray could
have a GPU+CPU(CPU included) Identifier (GPU-Z, CPU-Z,etc) to use
available processing hardware resources to render, *of course* GPU
helping whenever it can keep with POV-Ray's quality specs and/or "rough
preview". Makes sense?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Saul Luizaga <sau### [at] netscapenet> wrote:
(<GPU preview>)
Interesting idea. Would be a lot of work to implement though, I guess.
> Another suggestion, what about this:
> a small floating window (maybe 512*384 or 384*288) with the title "rough
> preview" that makes the GPU+FPU+CPU preview of the scene as ral-time as
> possible "while you type" or when you have finished a valid line, this
> could be configurable, but I think would be great as a default.
Great idea, but what if your scene file takes 15 minutes to (re-)parse because
of heavy macro usage? And what if you are working on SDL code designed to write
to files (radiosity samples, photons, or just plain #write output)? I wouldn't
want POV to just start running *such* SDL code while it isn't "ready to rock"
yet.
(Or what if all the changes you want to do is just a few #defines that govern
whether your SDL file *does* #write or instead #read some stuff, in order to
switch from #write to #read mode... don't even want to think about it. Argh!)
No, I think the idea is intriguing, but prohibitive due to the power of POV's
SDL language.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Saul Luizaga <sau### [at] netscapenet> wrote:
> In the spirit of co-processing (GPU+FPU+CPU) I would like to suggest
> that if isn't too much of a trouble, would be great if POV-Ray could
> have a GPU+CPU(CPU included) Identifier (GPU-Z, CPU-Z,etc) to use
> available processing hardware resources to render, *of course* GPU
> helping whenever it can keep with POV-Ray's quality specs and/or "rough
> preview". Makes sense?
If we're talking about using GPU to support regular render, then I guess this is
a no-go: Modifying POV to this effect *would* be too much of a trouble, that's a
definite.
It might be possible to add a dedicated "preview module" though, which could
then make use of different GPU hardware... anyone volunteer for this task?
(Just as a side note, I don't have much hope that there will actually be too
many people screaming "me!" right now; I also think that at the time being,
development effort is better invested in other areas.)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I see what you mean and yes, there will be times where such preview
window could not be displayed and would be great to have a way to
indicate to the window that ignore certain if not all the code,
activating or deactivating the window with a hot-key and another hot-key
for the preview.
As I say the preview would be only for certain aspects of POV-Ray that
can be quickly if not real-time previewed, of course if the parsing
would take time "preview as you type" would be a no-go.
I propose this humble solution: have the preview Window to open a copy
of the source code window but not for editing but for selecting the
parts of the code that will be preview IF they don't take too long to
parse, with an easy paragraph/structure selection with small bookmarks
of paragraphs/structure "bookmarks" like Acrobat Reader displays when a
.pdf has bookmarks. Also would be good that the preview starts when you
open you .pov (if configured this way), and to make open-up preview, the
would simply add elements to that preview as you create them and select
them for preview, eliminating the need to re-preview the scene.
Regards.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The problem is that GPUs, in their current form, are great for
processing triangles but not much else.
POV-Ray, on the other hand, uses a wide variety of geometric primitives.
There *was* a version floating around that did a tessellated preview
using OpenGL. While functional, it never really caught on (AFAIK, the
prevailing method of a quick preview is to #declare several identifiers
specifying quality levels at the head of your main .pov file).
--
...Chambers
www.pacificwebguy.com
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Chambers wrote:
> The problem is that GPUs, in their current form, are great for
> processing triangles but not much else.
I have to desagree, Ihave seen examples on some web pages how the GPU
beat the crap out of a CPU (FPU included) on certain calculations, I was
reading about "GPUs as a powerful co-processor" or something like that.
Those calculations were prety complex for 3D geometry solving and other
stuff I don't recall well, was like a year or so ago.
As someone mentioned there is a version of Human Proteome Folding -
Phase 2 for GPU processing, alsmost none CPU/FPU usage.
> POV-Ray, on the other hand, uses a wide variety of geometric primitives.
The preview would be as i wrote on another post on this thread a rough
rough "preview" and not a mini/fast rendering, if not all POV-Ray
features can be "previewed" then only what it can, *and* a on the status
mini-window saying what was previewed and what not, in short, I think
the preview has to be a "glance window".
> There *was* a version floating around that did a tessellated preview
> using OpenGL. While functional, it never really caught on (AFAIK, the
> prevailing method of a quick preview is to #declare several identifiers
> specifying quality levels at the head of your main .pov file).
>
A begining...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Saul Luizaga <sau### [at] netscapenet> wrote:
> Chambers wrote:
> > The problem is that GPUs, in their current form, are great for
> > processing triangles but not much else.
> I have to desagree, Ihave seen examples on some web pages how the GPU
> beat the crap out of a CPU (FPU included) on certain calculations, I was
> reading about "GPUs as a powerful co-processor" or something like that.
> Those calculations were prety complex for 3D geometry solving and other
> stuff I don't recall well, was like a year or so ago.
The GPU can only be used to your advantage if you can give it a big
bunch of calculations to perform, let it crunch the numbers for several
seconds (or minutes) and then retrieve the results.
However, generally speaking, a raytracer like POV-Ray cannot do that.
You could delegate some calculations to the GPU, but the amount of
calculations the GPU could do before the results would have to be retrieved
by POV-Ray would be way too small. Transferring data between the CPU and
the GPU has so much overhead that it overwhelms any advantage the GPU might
have over the CPU if the data has to be transferred continuously.
If you could put the entire scene into the GPU and implement eg. the
ray-object intersection routines completely on GPU, that would be of
great help in the raytracing process (because POV-Ray could make the GPU
calculate a whole bunch of intersections at a time and then retrieve them
all in one single data burst). However, you would have to basically
replicate most of the POV-Ray code code as GPU code, with support for
all possible primitives and optimizations (such as bounding box hierarchies),
and that's just not possible.
--
- Warp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp <war### [at] tagpovrayorg> wrote:
> However, you would have to basically
> replicate most of the POV-Ray code code as GPU code, with support for
> all possible primitives and optimizations (such as bounding box hierarchies),
> and that's just not possible.
Well, let's be wise and say "not feasible" instead... I'm always reluctant to
call something impossible unless it's plain proven fact.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|