1000 Forms of Bunnies victor's tech art blog.

Porting Shadertoy to Unreal Engine Using Custom Node (Case #1)

Default decal compares with fixed decal using biplanar projection. Code ported from shadertoy. Recently I’ve been helping my friends implementing a better decal projection in Unreal Engine as the default decal projection is fairly limited. It is causing stretching pattern on the parallel surface as projection intended to be. A potential solut... Read more

Unreal Engine Custom Node

Recently I’ve been playing with raymarching technique and trying to implement it in Unreal Engine material editor. As the algorithm requires a for loop meaning it can only be done using HLSL code with the Custom Node. There are many pitfalls using custom node especially when the code is getting complex. The details panel code editor is very pri... Read more

Unreal Engine Plugin Configuration Quick Note

A summery of Unreal Engine Plugin system based on offcial documentation. UE Plugin Usage In UE4, Plugins are collections of code and data that developers can easily enable or disable within the Editor. Plugins can: add runtime gameplay functionality (DLC) modify built-in or add new Engine features create new file types (UCLASS, USTRUCT... Read more

Unreal Frame Breakdown Part 1

This is my version of How Unreal Render One Frame. I’m trying to follow this post and profile a frame by myself to learn the deferred rendering pipeline of Unreal Engine. I build this testing scene following the post. Unreal is set to use deferred shading. If set to use forward shading the profiling results will be extremely different and I wil... Read more

Simplified PBR Shading Model for Unreal Part 1

To get ready for the comming project, I am looking into an customized shading model for the base material - the one with a minimal implementation of PBR and without any unnecessary built-in features for a better rendering performance. After digging into the PBR theories as well as this amazing article spacific about PBR in Unreal Engine, I final... Read more

OpenGL Project Setup and Boilerplate Code

I had quite a journey setting up the environment for OpenGL development. Lots of research was done while I was solving all the problems and here I documented my version of approach. Resources I’ve been mainly using Visual Studios to work on my previous Raytracing project since it was raw C++ implementation. As OpenGL is a graphic API that has ... Read more

Raytracing - UV Mapping and Texturing

Chapter 3 and Chapter 5 study note of Ray Tracing: the Next Week. (Chapter 4 covered in previous post about Perlin Noise.) Implemented functionalities for generic solid texture and image texture mapping. Texture A texture in graphics is basically a function that makes the colors on a surface procedural. This procedure can be: synthesis code... Read more

Exploring Interaction Effect in VR

In VR development, because the motion of the first person character is precisely mapping the real players’ body(mainly hands) movement, the environment collision will never be able to prevent the player model from intersecting with the surrounding meshed. This is a well-accepted limitation of VR technique, however I personally feel it is a bit a... Read more

Perlin Noise Implementation

Study of raytracing has been progressing into the second book Ray Tracing: the Next Week, which is a little bit more advanced. This post is going to focus on some notes about Perlin Noise implementation. Book Implementation Debug 50 shades of perlin noise... pic.twitter.com/IIWrVVsPAV— ビクター (@viclw17) December 21, 2018 Follow the book ... Read more

Camera Model Summary

During my study of raytracing and browsing on Shadertoy, I have seen lots of different ways of implementing camera models for final rendering. Here is my summary for most of the solutions. Camera Model in Raytracing in One Weekend The previous post Raytracing - Camera and Multisampling Antialiasing documented the simplest camera setup for raytr... Read more

Your Browser Don't Support Canvas, Please Download Chrome ^_^``