Quantcast
Channel: Simon's Tech Blog
Browsing latest articles
Browse All 48 View Live
↧

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


Image may be NSFW.
Clik here to view.

HDR Display

IntroductionContinue with the DXR Path Tracer in the last post, I updated the demo to support HDR display. It also has various small features updated such as adding per monitor high DPI support, path...

View Article

Image may be NSFW.
Clik here to view.

Spectral Path Tracer

IntroductionBefore starting this post, I would like to talk a bit about my homeland, Hong Kong. The Chinese government enacted a new National Security Law, bypassing our local legislative council. We...

View Article

Image may be NSFW.
Clik here to view.

sRGB/ACEScg Luminance Comparison

IntroductionWhen I was searching information about rendering in different color spaces, I came across that using wider color primaries  (e.g. ACEScg instead of sRGB/Rec709) to perform lighting...

View Article

Image may be NSFW.
Clik here to view.

Importance sampling visible wavelength

IntroductionIt has been half a year since my last post. Due to the pandemic and political environment in Hong Kong, I don't have much time/mood to work on my hobby path tracer... And until recently, I...

View Article


Image may be NSFW.
Clik here to view.

Studying Gamut Clipping

IntroductionRecently, I was studying a technique called gamut clipping from this blog post. This technique is used for handling out of gamut color and bring them back to a valid range, which helps...

View Article


Image may be NSFW.
Clik here to view.

Implementing Gamut Mapping

IntroductionContinue with previous post, after learning how gamut clipping works, I want to know how it behaves in rendered image, so I implemented it in my toy path tracer with clipping to arbitrary...

View Article

Image may be NSFW.
Clik here to view.

Color Matching Function Comparison

IntroductionWhen performing spectral rendering, we need to use the Color Matching Function(CMF) to convert the spectral radiance to XYZ values, and then convert to RGB value for display. Different...

View Article

Image may be NSFW.
Clik here to view.

Studying "Spectral Primary Decomposition"

IntroductionIt has been a long time since my blog post (because of Covid, work, Elden Ring...). So I decided to study the "Spectral Primary Decomposition for rendering with sRGB Reflectance", which...

View Article

Browsing latest articles
Browse All 48 View Live