|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Saul Luizaga <sau### [at] netscapenet> wrote:
> 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.
Unfortunately, the keywords here are "CERTAIN calculations", and "CO-processor"
Or, to put it another way: There is *some* reason why we're not yet running
computers with GPUs *instead* of CPUs.
GPUs excel in specialized bulk data processing (they can be reprogrammed to
change their specialization nowadays, but that still doesn't invalidate this
statement), while CPUs provide for more flexibility.
I could imagine an approach to write a raytracing engine that could quite easily
"outsource" bulk data to a GPU; however, POV does *not* use this approach, and
can't be made to without a virtually complete rewrite.
I think I'm repeating myself, but anyway: Your proposal seems a nice idea, yet
probably has a too low benefit/effort ratio for the average POV user to place
it anywhere high on the development agenda.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> 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.
The main problem for raytracing is that GPUs don't handle recursion very
well, GPUs work by running set code on a group of data points, you cannot
arbitrarily create new data points or even write to several different data
points in your code.
All GPU code must essentially be structured like this:
For every element I of an array A:
- Read some elements a,b,c,... from other arrays (not array A)
- Do some processing based on a,b,c,...
- Write a single result to element I
As you can see it is totally geared for calculating pixel colours for your
screen from texture arrays and bump maps etc.
Of course you can chain together blocks like that to do more complicated
things in clever ways, but a complete raytracer does not fit in to that
scheme at all really.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thank you to all that replied me, I have read all the posts and yes, I
think my idea has little to no use, and would take some sort of
translation from POV-Ray parsing and some minimum raytracing to put a 3D
"preview" in an universal OpenGL format (previous GPU caps diag) to send
it to the GPU and display it, or some sort of .pov analyzer to create
such image or something like that. Interesting challenge, I wish I could
start it.
Thank you all again, you have enlighten me.
Cheers.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Saul Luizaga wrote:
> 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?
http://www.daylongraphics.com/other/povray/patches/
http://www.kfunigraz.ac.at/imawww/thaller/wolfgang/vop-intro.html
and there might be others
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|