Jump to content

  • Log In with Google      Sign In   
  • Create Account


Ray tracer performance


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
18 replies to this topic

#1 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 17 June 2010 - 07:34 AM

Hi, i am mading a real time ray tracer just for fun, when i get an idea i adding it to the code, sometimes i making some bugfixes in it. After a few years ago (when cpu's that can run it smoothly being invented :D) i will add it to my existing game engine.

I meant this topic to compare our ray tracer's speed, i alreday searched ppls on my msn who are tryed to made theyr own raytracer codes, but most of them are retyred from it, few of them maded unbeatable slow codes, and some of them are maded fully different type of geometry input. This is why i am opened this topic, to get some results and comparisons.

Voxel and Triangle based raytracer's results are also welcome! GPU and CPU versions too. Generic talk from ray tracing, and learning from each other are wery wanted ;)

So, to begin the thread, i post my results here and parameters:


codename: raj trakker
platform: CPU (windows, linux)
type: fully triangle-based

speed:
cpu: core2quad @ 2,3 ghz
loading time: 6 sec
poly num: approx ~25 000
res: 128x128
effects: one light and one shadow ray
fps: 4 fps

raj trakker

Sponsor:

#2 phantomus   Members   -  Reputation: 593

Like
1Likes
Like

Posted 17 June 2010 - 08:18 PM

Check this forum: http://ompf.org/forum . It's all about ray tracing, with an emphasis on real-time. Quite some ompf members lurk on GameDev too btw.

Shameless plug: Check my real-time ray tracer, Arauna: http://igad.nhtv.nl/~bikker . The release of a real-time path tracer is imminent, two more weeks. Name is Brigade. Check it out on YouTube:



And here's a video of a game done with Arauna:



Greets,
Jacco.

#3 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 17 June 2010 - 08:30 PM

Thanks for your reply. What GPU is needed to your software to reach 30 fps in 800x800?

(ps i wanted to check the benchmark on your page ,,Arauna benchmark'' but it drwatson'd at my computer: 2x1666 amd k7/msi k7d/1 gbyte ram/xp sp3/radeon 9800pro)

[Edited by - Geri on June 18, 2010 3:30:44 AM]

#4 phantomus   Members   -  Reputation: 593

Like
1Likes
Like

Posted 18 June 2010 - 12:35 AM

Arauna doesn't use a GPU at all. 800x800 @ 30fps would require (depending on the scene) a quadcore processor, ideally an i7. With one of those that performance level is not too hard to reach. Brigade does use the GPU, but it's a path tracer, so you can't speak in terms of fps, it's all about the number of samples per second you can produce. You basically balance resolution, noise and frame rate rather than just resolution and frame rate.

Arauna on AMD: That's a problem, sorry about that. I believe the version that was posted here does work.

#5 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 18 June 2010 - 01:42 AM

http://yscik.com/jf/datas/users/122-cpuz.jpg

same crash.

applog contains just this: Logging started.


#6 phantomus   Members   -  Reputation: 593

Like
1Likes
Like

Posted 18 June 2010 - 04:57 AM

Ah but that CPU doesn't even have SSE2... In that case you can't even compile Arauna yourself; it has tons of hand-written SSE2 code. Sorry about that. Then again, your CPU is ancient, you should be grateful it still works. ;)

#7 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 18 June 2010 - 07:02 AM

if this case, i will try it on my p4 laptop, that has sse2.

(btw this K7-s are survivors, like the old 400 celerons was in theyr time, you should support them ;) )

#8 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 18 June 2010 - 10:02 AM

i tested your code on my pentium4 laptop succesfully, it rund on 1-4 fps on its default window size.

#9 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 20 June 2010 - 02:22 AM

some new shot:

http://yscik.com/jf/datas/users/122-rajgoku2.jpg

i rendered it with bigger res too

#10 BlindSide   Members   -  Reputation: 136

Like
0Likes
Like

Posted 24 June 2010 - 01:12 PM

Hi, you can try mine from here: Been a while since I worked on it...

#11 luca-deltodesco   Members   -  Reputation: 637

Like
1Likes
Like

Posted 24 June 2010 - 09:58 PM

I've not touched my ray tracer experiment in a few years, it was never meant to be real time, but it was quite feature rich outside of geometry.

Spheres/Boxes/Tori/Cylinders/Cones/Heightmap terrain aswell as any affine transformation. with point lights and directed ponit lights (emmiting light like a cone)
more importantly. CSG operations on the primitives with ability to group objects together and perform multiple CSG operations.

It was more feature rich in terms of shading, you could combine alpha maps and different textures to overlay on the primitives to vary reflective properties, refractive properties at that point of the surface and diffuse/specular properties, and normal maps of course and multisampling for nicer renderings.

And i also got ruond to adding a primitive photon mapping pass.

Uploaded the old screenshots i have to here:http://gust.isjackd.in/luca/drt/

with my favourites being:
http://gust.isjackd.in/luca/drt/terr3.jpg Terrain with a subtracted torus, all nice and reflective with the heightmap using a normal map and a smooth torus surface.

http://gust.isjackd.in/luca/drt/new3.jpg showing some photon mapping.

http://gust.isjackd.in/luca/drt/csg6.jpg cool shape by subtracting a double-cone from a torus.

#12 phresnel   Members   -  Reputation: 945

Like
0Likes
Like

Posted 24 June 2010 - 10:33 PM

I have some real time stuffs, too: plug.

There's also a quite (SSE) optimized 4DOF one: tinscape. Should render 10 fps on a quadcore at 1680x1050.

And I also have a special thingy that happens to be a non-runtime ray tracer, i.e. the image data is generated during compilation.

#13 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 11 January 2012 - 09:03 PM

at the last week, i got sick from gpu's FOREVER.

so i made a new ray tracing conception. in last year, i was like ,,i cant write it enough fast, i forget ray tracing for a while''.
even my graphics engine is starts to be a bit obsolete. so i will need some new, within years.
so i got sick from hardware 3d at all, there is only suck with it
GERI I DOWNLOADED THE NEWEST DRIVER AND NOW YOUR PRODUCT RUNS WITH 15 FPS. WITH THE LAST, IT WAS 65.
or:
GERI I HAVE INTEL, AND YOUR STUFF CRASHING.
Posted Image

hardware 3d is enough for me. gpus are buggy, limited. platform dependent, driver dependent. funny io-waits from the times of 80286 architecture.
incohesive with the system, slow, in the past 15 years, its not evolved (no, shaders arent one, 3dfx was alreday experimented with them in 97)...
overcompilcated, overmistifyed, ugly, unusable.

oh, both directx, opengl, and opencl, cuda, and other useless craps can go to garbage with they retard propaganda too.

so i will switch to software rendering, if i can.

my first ray tracer bakc then, years before, was too slow.
so i rewrited it, and created a new. it was slow too.

so i revited it at third time (the songoku image up) but that is too limited
(no dynamic scene, and even if it supports unlimited polygons, its slow, only 20 fps in 512x256)

but now i MAYBEE found a way, how i would able to create a ray tracer that is:
-unlimited polygons
-dynamic
-shadow, reflection, refraction, light component division
-maybee i would able to run it playable on a 4 core cpu
-HD image with core2quad or above
-10-200x (!) faster than the previous (da songoku)
-no gpu at all
-ARM support
-only eats very little ram (total loaded polygons and textures + ~40 mbyte)
-aa, dof
-clear image
-light overbright
-24 bit rendering

i would copy my existing particle system and hack it together with phisics
and i would maybee write a new phisics engine that is cohesive with this


in the past 3 days, i have coded it: the renderer is 130 kbyte, and its almost 100% finished
(i should not write 45 kbyte source code on one day, it makes me sick)

done = does not even tested, but putted and coded everything together, it will need probably days/weeks/months to debug and pseed it up.

Create your 3D RPG: Maker3D

 


#14 Krypt0n   Crossbones+   -  Reputation: 2185

Like
1Likes
Like

Posted 11 January 2012 - 11:44 PM

codename: InstantPath
platform: CPU (Win64, linux64, OSX)
type: Box based

speed:
cpu: Q9450 @ 2.67GHz (stock performance)
loading time: <1 sec
poly num: 8 boxes
res: 512x512
effects: path tracing (with specializations like MetropolisLT or bidirectional-PT)
fps: 15-20 fps

http://twitpic.com/3vatoi

I started it as a research to validate my long time idea, to calculate lighting based on a grid/boxes/voxel on cpu.
the first version took about 45min to render that picture, I've added:
-task system optimized for fine grain jobs
-sse4 lib, supporting everything I've done in singles in a vectorized ways, like random number generation, sin/cos/pow/log, branchless intersections etc.
-quite a lot of boost was given by choosing the random ray direction in a smarter way, which is a cosine importance samples hemisphere with a very regular, yet random distribution
-some salt and pepper to eliminate death paths (as this is an unbiased tracer and ~98% were death with this lightsource size -> wasted time).

#15 Chris_F   Members   -  Reputation: 1658

Like
1Likes
Like

Posted 12 January 2012 - 08:35 AM

I've not done much research on real time ray tracing, but couldn't you use rasterization, in the form of something similar to deferred shading to accelerate the performance? You could generate all your primary rays by rasterizing the scene on the GPU into multiple render targets, which would give you depth, color, normal and position for each pixel. Then you could ray trace only your secondary rays and do your shading. It seems like a waste to spend so much time tracing primary rays.

#16 zzzz....   Members   -  Reputation: 84

Like
1Likes
Like

Posted 17 January 2012 - 09:00 AM

I fully agree and I had the same sensation back in 2006-2007 where I decided to make the jump to pure software rendering again. Ah, liberating. Finally some fresh air :-) Btw ray tracing is not necessarily your best bet even if it's the coolest ;-) Pablo

 

at the last week, i got sick from gpu's FOREVER. so i made a new ray tracing conception. in last year, i was like ,,i cant write it enough fast, i forget ray tracing for a while''. even my graphics engine is starts to be a bit obsolete. so i will need some new, within years. so i got sick from hardware 3d at all, there is only suck with it GERI I DOWNLOADED THE NEWEST DRIVER AND NOW YOUR PRODUCT RUNS WITH 15 FPS. WITH THE LAST, IT WAS 65. or: GERI I HAVE INTEL, AND YOUR STUFF CRASHING. hardware 3d is enough for me. gpus are buggy, limited. platform dependent, driver dependent. funny io-waits from the times of 80286 architecture. incohesive with the system, slow, in the past 15 years, its not evolved (no, shaders arent one, 3dfx was alreday experimented with them in 97)... overcompilcated, overmistifyed, ugly, unusable. oh, both directx, opengl, and opencl, cuda, and other useless craps can go to garbage with they retard propaganda too.

Edited by jbadams, 13 April 2014 - 01:45 AM.
Restored post contents from history.


#17 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 17 January 2012 - 07:16 PM

(btw, it seems my new ray tracer code is also damn slow Posted Image)

however, i will try to optimise it.

i have a very good idea for the API, i designed a very good conception. if it will work in reality, i will release the api documentation publically, for free, even if i cant code it myself.
maybee some peoples will find this api usable, this api can be wrapped to every existing ray tracer (even over gpu's, it does not matter if i hate them or not Posted Image).

it would be nice if there would be an usable, free ray tracing api for games (like directx and opengl).
(yeah, i know, there is some attempts for this alreday, but i find them overcomplicated, heavy, and the does not satisfy my conceptions at all)

Create your 3D RPG: Maker3D

 


#18 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 02 March 2012 - 01:47 PM

my conception successing.

i was able to reach 33 fps with a 4 core amd cpu with a simle shadow, in 1024x512, with a ~4 million polygons.
so basically it matches my old simple opengl graphics engine with 1 shadow in the same resolution

i also succesfully implemented unlimit polygon technique with logarithmical compute demand. 1 billion polygon eats only around 1 gbyte of ram, and almost runs on playable framerate.

my current problem is the x86's low random memory reaching performance, i hope i will find a trick to do something with that shortly

Create your 3D RPG: Maker3D

 


#19 Geri   Members   -  Reputation: 147

Like
0Likes
Like

Posted 06 June 2012 - 10:59 AM

btw i created a topic on phantomus site at http://igad2.nhtv.nl...c.php?f=3&t=328 to blog the news from my ray tracer.

also a block diagram from my ray tracing engine

Posted Image

suprisingly, it works

Edited by Geri, 06 June 2012 - 11:01 AM.

Create your 3D RPG: Maker3D

 





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS