Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

367 Neutral

About koiava

  • Rank

Personal Information

  1. even if it looks correct you should write several tests to ensure that it really satisfies his physical properties. check this out. 
  2. In theory rasterization is O(n) where n is number of triangles, when you assume that rasterization of single triangle is O(1). And basicaly during rasterization fragments are processed in parallel so this assumption is not far from reality. This is how rasterization based libraries work like OpenGL/DirectX. In practice every game does top level optimizations to make it possible to render huge amount of geometry. There are several basic optimizations: LOD, Frustum culling, Occlusion culling, ... which helps a lot. In Ray tracing works totally different way but main problem for using it in games is acceleretion structures and dynamic geometry. You have some kind of acceleration structure on your geometry and if something changes frame to frame you have to update this structure which makes ray traced games so impossible. Currentlly fastest builder is reffiting, LBVH, TrBVH those are linear and highest quality builder is SBVH. So game engines have to use them based on type of geometry. Currently brigade showed that they can render hd image with 30 fps and rebuild BVH with 150k triangles per frame on two GTX titan as I remember. If you are really interested you should reed J.bikker thesis "Path tracing in Real-Time games".
  3. First of all path tracing is physically based rendering method. It simulates phisical properties of light to get photorealistic images. In physical world light ray can defined as set of photons which starts tracing from emissive surface/volume, interacts with scene surfaces/volumes and finally hits some sensor and sensor gets some contribution. To simulate this process we have to create model for light emission, light reflection and connection to camera. This method is called light tracing. You can guess that if there is lots of invisible light sources in the scene there would be really few of tham which really contributes and we would spent lots of computational resources for nothing. So this method alone is considered harmfull. Now what about path tracing? Path tracing is oposite of light tracing. It starts tracing from camera, calculates intersection to nearest surface, calculates reflected/refracted direction and after some scattering events it hits light and you get final contribution of specific light path. But there is lots of light paths which might contribute to final image... Yes it will take into account all of them but it will take infinite time. Good thing is that within one iteration you can calculate only one portion of contribution and acumullate results of iterations to get final results. This iterative method is called "Monte Carlo Integration", which is one of the best method to solve high order Integral equations. Path tracing is representation of Rendering equation. There is lots of things you have to now before doing something usefull, but I will suggest to start from smallpt. There is also slides which describes code line by line.
  4. Here Is my shader: https://www.shadertoy.com/view/lllXz7 You can increase PIXEL_SAMPLES on first line to remove noise
  5. this means that problem is in shading part and not in ray triangle intersection.
  6. koiava

    Gravitational Lensing

    Yeah, inspiration comes from movie :) Unfortunately there is no chance to calculate lighting in real-time, even only with single scattering. Calculate lighting in heterogenious particifaping media is one of the most hard problems of CG. There is no analitical solution and huge gravitational force which bends rays complicates things even more. So I may write offline rendering of this scene in future but now this shader shows basic, gravitational lensing part without lighting. This shader is written with huge help of BlackRainbow, guy from blender community. He rendered this scene in blender http://blenderartists.org/forum/showthread.php?360261-Gargantua
  7. Shader shows gravitational Lensing around black hole   https://www.shadertoy.com/view/ltBGWh  
  8. There is a second method to calculate intersection. It's more intuitive and it has his advantages in some cases. You can calculate intersection with triangle plane if you already have abcd coefficients, then project triangle and intersection point on one of the coordinate planes, calculate (u,v) and check if point is within triangle.
  9. I'm calculating direct light for volumetric particles(Single Scattering) selected along viewing rays using equiangular sampling. This gives foggy look, Illumination itself includes visibility term, causing volumetric shadows when light from certain particles isn't visible :)
  10. Example shows equiangular sampling technique for multiple spherical lights Features: Single scattering, Torrance-Sparrow illumination model for surfaces, Homogeneous Media, Depth of Field, Motion Blur (for camera and objects) Anti-Aliasing. Here is live demo at shadertoy.  
  11. In general, best way to support high performance multiplatform computations is to implement things per platform :) only this case you can achieve performance close to the maximum.
  12. koiava

    What's the difference these books?

    Physically Based Rendering  by Matt Pharr and Greg Humphrey is most complete book for rendering, from basic concepts to advanced algorithms written using Literate Programming with full source code and explanation. They received Academy award for their contribution to CG industry. Unfortunately I only now ordered this one and reading with big interest. Really elegant work! I also recommend you PhD Thesis by Eric Veach (1997) - Robust Monte Carlo Methods for Light Transport Simulation. You may think that this is old, but it covers most of current CG problems and provides robust solutions for most of them. This thesis has huge contribution and Eric also was awarded.
  13. koiava

    Colibri renders

    Images rendered with Colibri.
  14.  Nice to hear that renders looks like photo It's Physically Based Renderer, so it solves Rendering Equation with maximum precision and gives realistic images. Renderer is under development You can find more info here and here
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!