Quantcast
Channel: Simon's Tech Blog
Browsing all 48 articles
Browse latest View live
↧

Image may be NSFW.
Clik here to view.

Implementing Voxel Cone Tracing

[Updated on 25-2-2013: added a paragraph about lowering the voxel update frequency for faster dynamic update. The demo also added a combo box for choosing the update frequency]IntroductionIn last year...

View Article


Image may be NSFW.
Clik here to view.

Checking whether a point lies on a Bezier curve

IntroductionIt has been a long time since my last post. I was busy in the past months, and finally have time to finish dual-quaternion skinning and added some basic animation to my code base.The...

View Article


Image may be NSFW.
Clik here to view.

Transforming points in unit square with p-norm

IntroductionContinue with previous post talking about some little tricks I used when implementing the animation editor. This time, I will talk about another maths problem when implementing the...

View Article

Image may be NSFW.
Clik here to view.

Recent Update 2014

OverviewIt has been a long time since my last post. Life was not that good here in Hong Kong, but I was still working on my engine in spare time. This post will show some of the stuff I have been...

View Article

Image may be NSFW.
Clik here to view.

Pre-Integrated Skin Shading

IntroductionRecently, I was implementing skin shading in my engine. The pre-integrated skin shading technique is chosen because it has a low performance cost and does not require another extra pass....

View Article


Image may be NSFW.
Clik here to view.

"Seal Guardian" announced!!!

Finally, "Seal Guardian" is announced!!!It has been a very long time since my last post, I was busy with making the game "Seal Guardian"."Seal Guardian" is a hard core hack and slash action game,...

View Article

Image may be NSFW.
Clik here to view.

Light Map in "Seal Guardian"

IntroductionLight mapping is a common technique used in games for storing lighting data. "Seal Guardian" used light map in order to support large variety of hardware from iOS, Mac to PC because of its...

View Article

Image may be NSFW.
Clik here to view.

Shadow in "Seal Guardian"

Introduction"Seal Guardian" uses a mix of static and dynamic shadow systems to support long range shadow to cover the whole level. "Seal Guardian" only use a single directional for the whole level, so...

View Article


Image may be NSFW.
Clik here to view.

Render Passes in "Seal Guardian"

Introduction"Seal Guardian" uses a forward renderer to render the scene. Because we need to support mobile platform, we don't have too many effect in it. But still it consists of a few render passes to...

View Article


Image may be NSFW.
Clik here to view.

Simple GPU Path Tracer

IntroductionPath tracing is getting more popular in recent years. And because it is easy to get the code run in parallel, so making the path tracer to run on GPU can greatly reduce the rendering time....

View Article

Image may be NSFW.
Clik here to view.

Testing Hot-Reload DLL on Windows

IntroductionAfter finishing the game Seal Guardian and taking some rest, I was recently back to refactoring the engine code of the game Seal Guardian. In this game, the engine has the ability to...

View Article

Image may be NSFW.
Clik here to view.

MSBuild custom build tools notes

IntroductionRecently, I am trying to re-write my graphics code to use D3D12 (instead of D3D11 in Seal Guardian). I need to have a convenient way to compile shader code. While tidying up the MSBuild...

View Article

Image may be NSFW.
Clik here to view.

D3D12 Root Signature Management

 IntroductionContinue with the last post about writing my new toy D3D12 graphics engine, we have compiled some shaders and extracted some reflection data from shader source. The next problem is to bind...

View Article


Image may be NSFW.
Clik here to view.

D3D12 Descriptor Heap Management

IntroductionContinue with the last post, we described about how root signature is managed to bind resources. But root signature is just one part of resources binding, we also need to use descriptor to...

View Article

Image may be NSFW.
Clik here to view.

D3D12 Constant Buffer Management

IntroductionIn D3D12, it does not have an explicit constant buffer API object (unlike D3D11). All we have in D3D12 is ID3D12Resource which need to be sub-divided into smaller region with Constant...

View Article


Image may be NSFW.
Clik here to view.

Render Graph

IntroductionRender graph is a directed acyclic graph that can be used to specify the dependency of render passes. It is a convenient way to manage the rendering especially when using low level API such...

View Article

Image may be NSFW.
Clik here to view.

Reflection and Serialization

IntroductionReflection and serialization is a convenient way to save/load data. After reading "The Future of Scene Description on 'God of War'",  I decided to try to write something called...

View Article


Image may be NSFW.
Clik here to view.

DXR AO

IntroductionIt has been 2 months since my last post. For the past few months, the situation here in Hong Kong was very bad. Our basic human rights are deteriorating. Absurd things happens such as...

View Article

Image may be NSFW.
Clik here to view.

Note on sampling GGX Distribution of Visible Normals

IntroductionAfter writing an AO demo in last post, I started to write a progressive path tracer, but my progress was very slow due to the social unrest in past few months (here are some related news...

View Article

Image may be NSFW.
Clik here to view.

DXR Path Tracer

IntroductionCan't believe it has been half a year since my last DXR AO post. It was a hard time in Hong Kong last year, but thanks to the social unrest and medical worker's strike, the Wuhan...

View Article
Browsing all 48 articles
Browse latest View live