![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis wrote:
> Most people don't have top computers to run complex raytraced scenes
> either. Does that mean povray should support the lowest common
> denominator hardware so that people can keep up rather than just
> upgrading their PCs if they really want faster renderings?
I'd very much appreciate it if POV didn't *require* advanced hardware.
I myself have a quad core AMD processor, but I'm the only one I know who
has more than 2 cores, and most of the people I know will be buying new
computers long before me. This thing is probably going to last me at
least another 5 years.
...Chambers
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis wrote:
> gee, man!, it was just a hint. You clearly are all just fine with a
> slow raytracer for RSOCPs. That's fine to me, though it's sad to be
> nostalgic...
Alright, let me state this as clearly as I can, since you obviously
haven't figured it out yet:
Current GPUs do not support the features necessary to be useful for POV-Ray.
Our options are to either wait for more powerful GPUs, or rewrite the
entire program from scratch.
Since the POV-Team is currently investing a great deal of time working
out bugs in 3.7, the idea of throwing everything out the window and
starting over does not appeal to them. So they have decided to focus on
3.7, and wait for something more useful to come along.
If you would like to contribute your time, and work on making POV GPGPU
compatible, then by all means go ahead. But don't say we're in denial
just because we don't have the time or inclination to do so with the
current options.
...Chambers
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chambers wrote:
> Our options are to either wait for more powerful GPUs, or rewrite the
> entire program from scratch.
>
> Since the POV-Team is currently investing a great deal of time working
> out bugs in 3.7, the idea of throwing everything out the window and
> starting over does not appeal to them. So they have decided to focus on
> 3.7, and wait for something more useful to come along.
And, updating the code to 3.7 will make those changes easier once GPUs
offer the capabilities that are needed. So, it is a win/win!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis wrote:
> gee, man!, it was just a hint. You clearly are all just fine with a
> slow raytracer for RSOCPs. That's fine to me, though it's sad to be
> nostalgic...
I'm *not* fine with a slow raytracer for RSOCPs. But, like you, I don't have
the skills to improve it, and unlike you I don't go around ranting that it
should support this and that, especially because I don't know anything about
GPU programming.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nicolas Alvarez wrote:
> nemesis wrote:
>> gee, man!, it was just a hint. You clearly are all just fine with a
>> slow raytracer for RSOCPs. That's fine to me, though it's sad to be
>> nostalgic...
>
> I'm *not* fine with a slow raytracer for RSOCPs. But, like you, I don't have
> the skills to improve it, and unlike you I don't go around ranting that it
> should support this and that, especially because I don't know anything about
> GPU programming.
Ok, got better by that last bashing?
It was a hint for possible improvement. I could care less about povray
by now... last one to go out, don't forget to turn off the rays.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis wrote:
> It was a hint for possible improvement.
Except it's a "hint" that comes up every six months, and people have told
you this, and why and how it's inapplicable to POV-Ray.
Yet you continue to put down the work of all the good people donating their
time and dismissing it because it's not a production-quality version of the
academic research project just now becoming usable on high-end graphics
hardware. You dismiss all the things that set POV-Ray apart as unimportant
and want other people to work for free to make it do the same things that
commercial systems do, and nothing more.
Again and again, you insult the work of the people actually making the
software that's self-admittedly beyond your ability to understand or
contribute to.
Are you really not seeing why everyone is bashing you? Here's a hint for a
possible improvement: don't be a dick.
--
Darren New, San Diego CA, USA (PST)
Forget "focus follows mouse." When do
I get "focus follows gaze"?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Just about as much as using povray to do anything other than abstract
> math.
Sorry, I just feel that hardly anyone simply uses POV for rendering an
imported triangle mesh without any of POV's features (procedural textures,
primitives and CSG, media, etc). In fact you can see this if you look at
the HOF or the images binary group on this news server.
In short, what you suggest would have no benefit for the majority of people
here, and it would be completely pointless as other software already exists
that does what you are suggesting.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 19 Jan 2010 03:28:00 -0200, nemesis wrote:
> It was a hint for possible improvement.
Not really, no - it's been an ongoing obsession of yours, even in light
(pun not intended) of countless people who know a lot more about how the
software works patiently explaining why it's not practical.
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Jim Henderson <nos### [at] nospam com> wrote:
> On Tue, 19 Jan 2010 03:28:00 -0200, nemesis wrote:
>
> > It was a hint for possible improvement.
>
> Not really, no - it's been an ongoing obsession of yours, even in light
> (pun not intended) of countless people who know a lot more about how the
> software works patiently explaining why it's not practical.
The only explanation so far being thrown has been: "we don't want to speed up
povray's ray-triangle intersections because it would make it much more useful to
people outside our small geek niche and those people wouldn't be interested in
using other povray features thus making us feel unloved". Really, they can't
stop talking how isosurfaces, textures and whatsoever would not be
well-supported on GPU even though I agreed with that from the start and only
hinted at triangles speed up.
It's not an obsession for me, it's a nostalgic feeling to see povray yet again
as king of the hill of free raytracers out there. It seems to be just nostalgia
really, that time has passed never to return.
sorry, can't help being a dick: it's a common diminutive for my first name
anyway...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
nemesis <nam### [at] gmail com> wrote:
> The only explanation so far being thrown has been: "we don't want to speed up
> povray's ray-triangle intersections because it would make it much more useful to
> people outside our small geek niche and those people wouldn't be interested in
> using other povray features thus making us feel unloved".
Yes, that's exactly what people have been saying.
Btw, you keep saying that the GPU could be used to speed up ray-triangle
intersection calculations, but what do you base this on?
Raytracers, including POV-Ray, use complex container structures to speed up
ray-triangle intersection calculations (such as octrees or b-trees). This
means that calculating the intersection of a ray and a triangle mesh is
much faster than linear (with respect to the number of triangles). With
most implementations the intersection routine is probably on the order
of O(log n) with respect to the amount of triangles.
How can the GPU be used to speed this up? AFAIK when rendering in the
normal way, GPUs do not prune triangles like that, but instead all you
send the GPU to render is splashed into the screen as-is. The z-buffer
can be used to avoid texturing/lighting/shader calculations on hidden parts
of triangles, but nevertheless *every single triangle* is projected onto
the screen (or, more precisely, rendered onto the z-buffer).
That's one of the reasons why game engines exist in the first place: You
can't send the entire scene to the GPU to be rendered. It would choke. The
game engine prunes the scene to its bare minimum by removing hidden surfaces
(as well as it can) before sending it to the GPU to render. Optimally only
those triangles are sent to the GPU which end up affecting the display
(although in practice getting the optimal result is next to impossible,
at least in real-time, but game engines try to get as close as possible).
Thus much of the pruning is done by the CPU, before the GPU gets to
render anything.
Now, would you kindly explain to me how the GPU can be used to speed up
ray-triangle intersections of a scene with millions of triangles in a
raytracer?
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |