Struct | * | + | - |
---|---|---|---|
Vec
|
1665
|
255
|
316
|
Vec2
|
2104
|
569
|
781
|
Vec3
|
1603
|
224
|
346
|
Showing posts with label raytracer. Show all posts
Showing posts with label raytracer. Show all posts
Saturday, March 2, 2013
Efficient Vectors in C#
Making the raytracing made me in an efficiency craze. I had to think about the efficiency for everything. One of the basic things to think about is vectors! Consider the following vectors. In this code, there are three vector structs, each with different x, y, z implementations. The three vectors overload the multiplication, addition, and subtraction operators to apply them to x, y, and z. I created a simple test to see the efficiency of the 3 implementations. The test was very simple it involved two vectors one with the x, y, and z equal to PI and vector with the x, y, and z values set to 1. The vector with the 1 value is multiplied, added, and subtracted with a PI vector in a for loop that goes 1,000,000 times. Here are the results:
The result show that properties are the least efficient way, taking 100% more time.
Monday, December 24, 2012
Online Raytracer
I have finished 95% percent of the raytracer, and since it is written in C# and doesn't use unsafe code, I could use it with asp.net. A parser interprets XML for the raytracer and produces a final image at the bottom of the page. The online sample lacks textures and meshes, which I plan to add later. Also the documentation of the markup language is not complete, but you can get the hang of it by taking a look at the samples. Everyday I will update the raytracer and parser for the bugs. Please use the report page to report any bug or exception that comes up! You can find the website here.
Monday, September 17, 2012
Monday, August 27, 2012
C# raytracer from scratch
I am building a complete C# raytracer. It uses my own math library and it will be part of the Disque Engine. The raytracer is close to completion. Right now it can render the basic shapes such as spheres, cubes, cones, cylinders, disks, rectangles, and triangles. I am also trying to implement a ply file reader so that I can render the Stanford bunny or other standard models. After I finish the raytracer I will post tutorials on how to build your own.
Here are some samples(time format is h:m:s.ms) :
Here are some samples(time format is h:m:s.ms) :
Simple image rendered at 256 samples per pixel, total render time: 00:09:43.838
An image of 1000 random spheres rendered at 121 samples per pixel, total render time: 02:13:45.002
I will provide more samples as the raytracer advances.
Subscribe to:
Posts (Atom)