31 May 2013

Interesting Links in May 2013

Interesting Links in May 2013
This time

ShaderToy

link to shadertoy - warning: a lot of WebGL usage!
It seems that shader programming gets more and more popular! With the WebGL platform one can even create a social experience. On this site you can write fragment shaders in GLSL and share it to the world.
Shader Toy
uniform vec3      iResolution;  
uniform float     iGlobalTime;  
uniform float     iChannelTime[4]; 
uniform vec4      iMouse;  
uniform samplerXX iChannel0..3;  
uniform vec4      iDate;   
You have the above input and the rest it up to your imagination! There are lots of very impressive effects posted already on this site. In the beginning I thought that only simple effects can be made that way. I was wrong though! In lots of examples there are techniques like raymarching, raytraycing, distancefield, fractals used and thus the whole effects are mind blowing. I need to try this out.

Doom3 BFG Source Code Review

Doom3 BFG Source Code Review
The website behind the above link contains many interesting code reviews and this time we get another top position! Doom3 BFG is an upgraded version of the good old Doom3. Its engine id Tech4 was modernized with technology from id Tech5. Now we got better rendering systems, Steam integration and other bonuses. For us, developers, the most important thing is that the code is on GitHub and everyone can fork, read and use it! What can we get from the review itself?
  • It is quite easy to get the sources and built it using Visual Studio 2010!
  • It uses C++, but it is rather C with Classes... there are no exceptions, references, minimal usage of templates...
  • it compiles to one big EXE
  • GLSL 1.5, modern OpenGL renderer (but uses compatibility mode)
  • Multithreading taken from id Tech5. Previously Doom3 was mostly single threaded.
Whole review is divided into several parts, there are lots of diagrams... and all in all it looks very impressive. Even John Carrmack took part in commenting this article.

PS4 vs XBox One

Some time ago we got news about Play Station 4. Now it is time for the new XBox! It is called XBox One and is also very impressive piece of hardware!
  • XBox will have probably the same CPU as Ps4, clocked to 1.6Ghz AMD Jaguar
  • GPU will be better in Ps4 (12 Compute Units GCN vs 18 CU)
    • Suprisingly XBox will have additional 32MBytes embedded memory.
  • Memory: 8GB in both consoles, but Ps4 has a lot more bandwidth (thanks to GDDR5). So there is around 176 GB/s vs 68.3 GB/s
  • Total Theoretical Throughput: 1.84 TFLOPS vs 1.23 TFLOPS for XBox
Just after the new XBox was announced Sony's stock jumped up by 9%! It seems that the world believes that Ps4 is better than the XBox. Probably Ps4 will be able to deliver better quality for the graphics and physics effects. Moreover both of those consoles are x86 so the engine code will be similar (it will be much easier to use real power of those boxes). Additionally we need to put Kinect 2.0 and Ps4 Move into equation and how will they help in selling those consoles.

Photorealism Through the Eyes of a FOX

Fox Engine
wiki - Fox_Engine
Below there is a list of my notes from the presentation about Fox Engine from Kojima Production working for Konami. This new engine is used for the latest Metal Gear Solid and it is said to be "best engine in the world".
  • The presentation starts at 16:30, before there is long trailer/demo from the game.
  • The trailed is said to be real-time. It is impressive, but probably not that much as I've seen in latest Killzone Gameplay video.
  • Texture assets use linear space. They use physically based lighting system. 
  • Photos for making environment realistic and 3D Scan for photo realistic models 
  • Tools and the pipeline are very important!
  • Linear Workflow - use gamma decode and gamma correction (needed for PBI system)
  • View Dependent Roughness
  • Rendering Engine Parts starts from 50 minute.
  • The engine uses deferred rendering, as most modern engines. They had to make some tweaks in order to support several effects like anisotropic lighting, view dependent roughness, etc.
  • Light Probes for ambient lighting, second order SPH
  • Good old Blinn-Phong model is used. With a bit of normalization that improves physical behaviour.
  • Going back to real life objects, need to study them, but artists eye is essential.
  • Not to deep... just jumping through different topics. Too general for me.
The overall feeling of the presentation is a bit strange, because it was presented in two languages: Japan and then translated to English. That makes it not that much interactive and vivid. Another thing is that it is quite hard to believe that "Fox" engine is the best engine in the world...

OpenCL Enables More Compelling and Efficient Applications

OpenCL
Wikipedia / © Apple
Link to Adobe's Blog
This is rather "simple" and maybe marketing related entry, but touches one important issue: the history circle with API standardization. In the past developers were struggling with graphics programming. Most of hardware had different APIs and different capabilities. In the beginning of 90s the industry started talking to each other and several years later we got OpenGL (1992) and DirectX (1995). Similar situation goes on with Compute APIs right now.
So where is Adobe in this story? It appears that this Company invests some effort (and money) into OpenCL standardization. This means that OpenCL iseems to be very important API that will continue to grow in the future. Another conclusion: time spent on OpenCL tutorials might be a good investment :)

Interested in new blog posts and occasional updates? Please sign up for my free newsletter.

Copyright Bartlomiej Filipek, 2016, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.