POV-Ray : Newsgroups : povray.general : My own raytracer, need some docs... Server Time
9 Aug 2024 15:24:56 EDT (-0400)
  My own raytracer, need some docs... (Message 7 to 16 of 26)  
<<< Previous 6 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Warp
Subject: Re: My own raytracer, need some docs...
Date: 18 Aug 2000 04:31:52
Message: <399cf478@news.povray.org>
Perhaps instead of doing it the hard way (ie. program your own raytracer,
which probably won't be any better than povray), you could just try to
optimize your scene for povray.

  If povray spends ages calculating light buffers (and that's what is filling
up the memory), try turning them off. The rendering may be slower, but if
it was the actual problem, it will render, which is the goal. You can also
try with the vista buffers as well (although I don't know if it will be of
any help).

  If your scene has many identical groups of cylinders (the only difference
between the groups being the transformations (scale, rotate, translate)
applied to them) you could try replacing the cylinders of one of these group
with equivalent smooth triangle meshes (making a #declared identifier of them).
When you make copies of this mesh (and transform the copies) they will take
a lot less memory. The bigger the group of cylinders and the more the copies
of the group, the better (ie. more memory saved).

  If your texture doesn't have to be transformed with the cylinder (but is,
for example, just a plain color), don't texture each cylinder separately,
but make a union of all the cylinders in the scene and texture it just once.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: My own raytracer, need some docs...
Date: 18 Aug 2000 05:35:41
Message: <399d036d@news.povray.org>
In article <399CADE9.1D14841A@mailbag.com> , Mark Gordon 
<mtg### [at] mailbagcom>  wrote:

> I would agree (noting especially that Graphics Gems IV has an article on
> line-cylinder intersection), and I'd add the following three books on
> writing ray tracers:
>
> Glassner, _An Introduction to Ray Tracing_
> Wilt, _Object-Oriented Ray Tracing in C++_
> Shirley, _Realistic Ray Tracing_
>
> Also, since you're interested in textures:
>
> Ebert et al., _Texturing and Modeling_

Not to mention the "Suggested Reading" section in the POV-Ray
documentation... :-)


       Thorsten


____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Simon Lemieux
Subject: Re: My own raytracer, need some docs...
Date: 18 Aug 2000 17:16:51
Message: <399DA7FE.793B3B21@yahoo.com>
>   Perhaps instead of doing it the hard way (ie. program your own raytracer,
> which probably won't be any better than povray), you could just try to
> optimize your scene for povray.
> 
>   If povray spends ages calculating light buffers (and that's what is filling
> up the memory), try turning them off. The rendering may be slower, but if
> it was the actual problem, it will render, which is the goal. You can also
> try with the vista buffers as well (although I don't know if it will be of
> any help).
> 
>   If your scene has many identical groups of cylinders (the only difference
> between the groups being the transformations (scale, rotate, translate)
> applied to them) you could try replacing the cylinders of one of these group
> with equivalent smooth triangle meshes (making a #declared identifier of them).
> When you make copies of this mesh (and transform the copies) they will take
> a lot less memory. The bigger the group of cylinders and the more the copies
> of the group, the better (ie. more memory saved).
> 
>   If your texture doesn't have to be transformed with the cylinder (but is,
> for example, just a plain color), don't texture each cylinder separately,
> but make a union of all the cylinders in the scene and texture it just once.

IMHO,
	POV-Ray is a complete general raytracing algorythm...  which will be fast for
almost anything...

	My scene has no light, nothing else than a few millions of cylinders all the
same texture...  how can I optimize that for povray? Reduce the number of
cylinders? Wrong!  That would also reduce the realism of my scene... what I need
is a raytracer that would handle very easily and very fast such a big number of
"Cylinder" and would be simply very slow when you would only have a cube... 
Optimized for a large number of cylinders, that is what I need!  Also that I got
a C++ program that calculate the position for all these cylinders and outputs
the result in a povray script...  ( cylinder { <x,y,z> texture { TheTex }})  and
then povray starts Parsing the scene and takes forever...  Would take a double
forever if I added lighting!...

	I am very interested in Povray, but sometimes I would need a specific tool...

Thanks,
	Simon

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           |            http://www.666Mhz.net |
| lem### [at] yahoocom  | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Mark Gordon
Subject: Re: My own raytracer, need some docs...
Date: 18 Aug 2000 19:51:07
Message: <399DCCBD.74DECA@mailbag.com>
Simon Lemieux wrote:

>         My scene has no light, nothing else than a few millions of cylinders all the
> same texture.

(snip)

>         I am very interested in Povray, but sometimes I would need a specific
tool...

Given that your scene has no light, I'm not convinced that the tool you
need is a ray tracer.  If you were doing ten million shiny cylinders on
a checkerboard, maybe.  I might suggest considering a different
algorithm if you're not going to be doing anything fancy with lighting.

-Mark Gordon


Post a reply to this message

From: ryan constantine
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 04:28:20
Message: <399E44FA.2C219A37@yahoo.com>
why not have someone export a cylinder as a mesh for you from a program
that can and then use it as an include file?  i think meshes parse
faster and take less memory for your situation.  you could still use
your program to place them, you would just have to put the object name
in place of the cylinder.

Simon Lemieux wrote:
> 
> >   Perhaps instead of doing it the hard way (ie. program your own raytracer,
> > which probably won't be any better than povray), you could just try to
> > optimize your scene for povray.
> >
> >   If povray spends ages calculating light buffers (and that's what is filling
> > up the memory), try turning them off. The rendering may be slower, but if
> > it was the actual problem, it will render, which is the goal. You can also
> > try with the vista buffers as well (although I don't know if it will be of
> > any help).
> >
> >   If your scene has many identical groups of cylinders (the only difference
> > between the groups being the transformations (scale, rotate, translate)
> > applied to them) you could try replacing the cylinders of one of these group
> > with equivalent smooth triangle meshes (making a #declared identifier of them).
> > When you make copies of this mesh (and transform the copies) they will take
> > a lot less memory. The bigger the group of cylinders and the more the copies
> > of the group, the better (ie. more memory saved).
> >
> >   If your texture doesn't have to be transformed with the cylinder (but is,
> > for example, just a plain color), don't texture each cylinder separately,
> > but make a union of all the cylinders in the scene and texture it just once.
> 
> IMHO,
>         POV-Ray is a complete general raytracing algorythm...  which will be fast
for
> almost anything...
> 
>         My scene has no light, nothing else than a few millions of cylinders all the
> same texture...  how can I optimize that for povray? Reduce the number of
> cylinders? Wrong!  That would also reduce the realism of my scene... what I need
> is a raytracer that would handle very easily and very fast such a big number of
> "Cylinder" and would be simply very slow when you would only have a cube...
> Optimized for a large number of cylinders, that is what I need!  Also that I got
> a C++ program that calculate the position for all these cylinders and outputs
> the result in a povray script...  ( cylinder { <x,y,z> texture { TheTex }})  and
> then povray starts Parsing the scene and takes forever...  Would take a double
> forever if I added lighting!...
> 
>         I am very interested in Povray, but sometimes I would need a specific
tool...
> 
> Thanks,
>         Simon
> 
> --
> +-------------------------+----------------------------------+
> | Simon Lemieux           |            http://www.666Mhz.net |
> | lem### [at] yahoocom  | POV-Ray, OpenGL, C++ and more... |
> +-------------------------+----------------------------------+


Post a reply to this message

From: Christian Perle
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 08:56:53
Message: <399e8415@news.povray.org>
Simon Lemieux <lem### [at] yahoocom> wrote:

> My scene has no light, nothing else than a few millions of cylinders
> all the same texture...  how can I optimize that for povray? Reduce the
> number of cylinders? Wrong!  That would also reduce the realism of my
> scene... what I need is a raytracer that would handle very easily and
> very fast such a big number of "Cylinder" and would be simply very slow
> when you would only have a cube...  Optimized for a large number of
> cylinders, that is what I need!  Also that I got a C++ program that
> calculate the position for all these cylinders and outputs the result
> in a povray script...  ( cylinder { <x,y,z> texture { TheTex }})  and

If all cylinder objects have the same texture why do you apply this
texture to each object? I would rather make a union and apply the
texture to the whole union object.

bye,
  Chris
-- 
Christian Perle              E-mail:        chr### [at] tu-clausthalde
Am Galgensberg 4             WWW:        http://home.tu-clausthal.de/~incp/
38678 Clausthal/Germany      ComputerGuitarKitesBicyclesBeerPizzaRaytracing


Post a reply to this message

From: Simon Lemieux
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 11:34:50
Message: <399EA958.52093EC9@yahoo.com>
> If all cylinder objects have the same texture why do you apply this
> texture to each object? I would rather make a union and apply the
> texture to the whole union object.

I tried that...  the only thing it helped was to reduce the size of the file a
few kbytes... big deal... didn't speed anything up...

BTW, I could use something like opengl... but one day... my cylinders might
become glass cylinder and then I would like to be able to do some refraction... 
impossible with opengl... only possible with a raytracer... and then again I
talked about Millions of cylinder...  one day I might need Billions and so
on...  Adding hardware to help the process isn't a solution, I must change the
process itself...

Thank you all for your suggestions, but what I need is documentation about
"creating a raytracer"...  

Thanks,
	Simon

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           |            http://www.666Mhz.net |
| lem### [at] yahoocom  | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: ryan constantine
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 16:24:28
Message: <399EECF0.3EF79A55@yahoo.com>
again, why not use a mesh?  in megapov they are solid and could be
glass.

Simon Lemieux wrote:
> 
> > If all cylinder objects have the same texture why do you apply this
> > texture to each object? I would rather make a union and apply the
> > texture to the whole union object.
> 
> I tried that...  the only thing it helped was to reduce the size of the file a
> few kbytes... big deal... didn't speed anything up...
> 
> BTW, I could use something like opengl... but one day... my cylinders might
> become glass cylinder and then I would like to be able to do some refraction...
> impossible with opengl... only possible with a raytracer... and then again I
> talked about Millions of cylinder...  one day I might need Billions and so
> on...  Adding hardware to help the process isn't a solution, I must change the
> process itself...
> 
> Thank you all for your suggestions, but what I need is documentation about
> "creating a raytracer"...
> 
> Thanks,
>         Simon
> 
> --
> +-------------------------+----------------------------------+
> | Simon Lemieux           |            http://www.666Mhz.net |
> | lem### [at] yahoocom  | POV-Ray, OpenGL, C++ and more... |
> +-------------------------+----------------------------------+


Post a reply to this message

From: Warp
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 20:24:57
Message: <399f2558@news.povray.org>
I told you many ways of optimizing the scene. Did you read my article
completely?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: My own raytracer, need some docs...
Date: 19 Aug 2000 20:26:35
Message: <399f25bb@news.povray.org>
Simon Lemieux <lem### [at] yahoocom> wrote:
: BTW, I could use something like opengl... but one day... my cylinders might
: become glass cylinder and then I would like to be able to do some refraction... 
: impossible with opengl... only possible with a raytracer... and then again I
: talked about Millions of cylinder...  one day I might need Billions and so
: on...  Adding hardware to help the process isn't a solution, I must change the
: process itself...

  Billions of glass cylinders? Stop dreaming :)

  Well, perhaps if you have a render farm consisting of hundreds of Cray T3E
computers with 2048 processors each and gigabytes of memory and running a
multithreaded patch of povray...

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

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

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