POV-Ray : Newsgroups : povray.off-topic : kd-trees rule! Server Time
6 Sep 2024 11:15:57 EDT (-0400)
  kd-trees rule! (Message 21 to 30 of 32)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 2 Messages >>>
From: Darren New
Subject: Re: kd-trees rule!
Date: 13 Feb 2009 16:12:58
Message: <4995e25a$1@news.povray.org>
triple_r wrote:
> "triple_r" <nomail@nomail> wrote:
>> So with this method, do you have direct access via python to methods and
>> functions?  That sure would be useful.  I think I'll need to figure this out
>> for my soon-to-be-job anyway.
> 
> (Don't worry though.  I know you're thinking, "Wow, I hope they're not paying
> him much," but the job has nothing to do with programming.)

Uh, no, I wasn't thinking that at all. I can't even imagine why you'd be 
likely to have known how Python gets embedded in desktop programs even if 
you *are* a professional programmer. :-)

Me, I've never started a job knowing what I need to know. :-) I'd say maybe 
1 out of 5 jobs I take I wind up using a programming language I've used before.

-- 
   Darren New, San Diego CA, USA (PST)
   "Ouch ouch ouch!"
   "What's wrong? Noodles too hot?"
   "No, I have Chopstick Tunnel Syndrome."


Post a reply to this message

From: Severi Salminen
Subject: Re: kd-trees rule!
Date: 14 Feb 2009 05:38:29
Message: <49969f25$1@news.povray.org>
scott wrote:


> Oh yeh I was going to ask about anti-aliasing, do you get this for free
> too with your algorithm - or do you need to specifically jitter each
> primary ray somehow?

Every ray from the camera goes through one single point. So yes, I have
to rotate each primary ray a bit to cover the area of a single pixel. So
basically I choose a random position within a pixel and trace that
direction. And because you normally do hundreds or thousands of passes
you end up getting perfect antialiasing.


-- 
Severi Salminen
http://www.iki.fi/severi


Post a reply to this message

From: scott
Subject: Re: kd-trees rule!
Date: 16 Feb 2009 03:07:54
Message: <49991eda$1@news.povray.org>
> Incidentally, while playing CSS the game engine appears to very 
> occasionally get this wrong. (I.e., distant objects appear *in front* of 
> nearer ones - typically textures for things like explosions, window glass, 
> etc.) The result looks very weird.

That's because the depth buffer has limited precision (16 or 24 bit 
usually).  If you can, check that it is set to the highest setting your 
display driver allows.

The video driver has to map real depths (floating point distances from the 
camera) to an integer to store in the depth buffer.  It usually does this by 
taking the reciprocal of the depth, and mapping a range like 1/1000 to 1/0.1 
to the integer range 0-65535 linearly.  This would mean that integer 0 
corresponds to 1000 metres, and integer 65535 corresponds to 0.1 metre 
depth.  In this case, integer 1 would correspond to 868 metres depth, so you 
can see there isn't much resolution far away!

Obviously the bigger range of distances teh game engine needs to represent, 
the less accuracy you can store the depth with and the more depth buffer 
problems you get.  And of course using a 24bit buffer helps things.

> Presumably if the triangles are allowed to move around you can't 
> precompute the splits?

I wouldn't have thought so, and given that grass blades are probably moving 
in the wind I don't think you woudl bother.  I mean if you 10000 grass 
blades swaying in the wind, are you going to notice the odd few that have 
sections rendered in the wrong order and thus have slightly incorrect 
shading?


Post a reply to this message

From: Darren New
Subject: Re: kd-trees rule!
Date: 16 Feb 2009 03:21:50
Message: <4999221e$1@news.povray.org>
scott wrote:
> Obviously the bigger range of distances teh game engine needs to 
> represent, the less accuracy you can store the depth with and the more 
> depth buffer problems you get.  And of course using a 24bit buffer helps 
> things.

I think that was one of the things the Serious Sam engine was trying to show 
off. There were levels where you'd look across the level with the 10x sniper 
scope and at the halfway mark was a five-story monstrosity you could barely 
make out.   That and literally hundreds of monsters all attacking at once, 
of course.

-- 
   Darren New, San Diego CA, USA (PST)
   "Ouch ouch ouch!"
   "What's wrong? Noodles too hot?"
   "No, I have Chopstick Tunnel Syndrome."


Post a reply to this message

From: Invisible
Subject: Re: kd-trees rule!
Date: 16 Feb 2009 04:01:27
Message: <49992b67$1@news.povray.org>
>> Incidentally, while playing CSS the game engine appears to very 
>> occasionally get this wrong. (I.e., distant objects appear *in front* 
>> of nearer ones - typically textures for things like explosions, window 
>> glass, etc.) The result looks very weird.
> 
> That's because the depth buffer has limited precision (16 or 24 bit 
> usually).  If you can, check that it is set to the highest setting your 
> display driver allows.

I noticed with Crysis that really distant objects "sparkle" like there's 
a coincident surface glitch. I suspect that what's really happening is 
limited Z-buffer precision.

The glitch I'm tolding about happens on a custom level at distances of 
only a few feet, so I suspect the level author set some flag wrong or 
seomthing.


Post a reply to this message

From: scott
Subject: Re: kd-trees rule!
Date: 16 Feb 2009 05:18:16
Message: <49993d68$1@news.povray.org>
> I noticed with Crysis that really distant objects "sparkle" like there's a 
> coincident surface glitch. I suspect that what's really happening is 
> limited Z-buffer precision.

Exactly.  Even with 24bit precision, when that's spread over viewing 
distances between 10cm and 10km you still get problems with far away objects 
being drawn correctly.

> The glitch I'm tolding about happens on a custom level at distances of 
> only a few feet, so I suspect the level author set some flag wrong or 
> seomthing.

More likely he just put two surfaces on the same plane somehow (with 
different textures).  Of course if the points are in exactly the same place, 
it's just going to be down to floating point precision and rounding errors 
as to which one gets drawn in front for each pixel.  Usually if you really 
do want two surfaces at the same point (eg a poster on a wall) you apply a 
"z buffer bias" to ensure one always gets drawn on top of the other even 
though the geometry is in the same place and even when the z buffer 
precision is low (eg far away).


Post a reply to this message

From: Severi Salminen
Subject: Re: kd-trees rule!
Date: 18 Feb 2009 11:03:48
Message: <499c3164@news.povray.org>
Me really likes kd-trees!

This scene has 6*40000 boxes and rendered in just 30 minutes - the image
is not very grainy anymore. I'm quite happy with the results so far!

But still, so many things to implement and only so much spare time :D



-- 
Severi Salminen
http://www.iki.fi/severi


Post a reply to this message


Attachments:
Download 'kuva29.jpg' (93 KB)

Preview of image 'kuva29.jpg'
kuva29.jpg


 

From: Severi Salminen
Subject: Re: kd-trees rule!
Date: 18 Feb 2009 12:20:51
Message: <499c4373@news.povray.org>
Small update:


-- 
Severi Salminen
http://www.iki.fi/severi


Post a reply to this message


Attachments:
Download 'kuva29.jpg' (99 KB)

Preview of image 'kuva29.jpg'
kuva29.jpg


 

From: Nicolas Alvarez
Subject: Re: kd-trees rule!
Date: 19 Feb 2009 23:01:36
Message: <499e2b20@news.povray.org>
triple_r wrote:
> It's snakes on a *** plane!

augh >_<


Post a reply to this message

From: nemesis
Subject: Re: kd-trees rule!
Date: 20 Feb 2009 23:30:01
Message: <web.499f821d55bca3e63b4a34f30@news.povray.org>
Severi Salminen <sev### [at] NOTTHISsaunalahtifiinvalid> wrote:
> Me really likes kd-trees!
>
> This scene has 6*40000 boxes and rendered in just 30 minutes - the image
> is not very grainy anymore. I'm quite happy with the results so far!

holy friggin cow!

Where did you get a spare Pixar render farm? o_O

The AA is PPP (pretty pixel perfect), the amount of stuff shown is staggering
and it's not that grainy indeed!

I hope it gets a python, TCL or Lua interface indeed. :)


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 2 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.