Vulkan Renderer

趣味

Vulkanでマルチスレッドされたレンダラーを実装し新技術の調査する。ゼロからVulkanを学びながらエンジンシステム実装も挑戦してます。趣味プロジェクトであるためコード整理が不定期的に行ってます。

Tracyのアセット非同期処理画像

時間帯: 一年間、不定期に触る

フィーチャー:

マルチスレッド(メインスレッド、RenderThread, 非同期CommandBufferスレッド)

Bindlessテクスチャ

Dynamic Rendering,Timeline Semaphores

CSM(実装中)

Clustered Shading(実装中)

GPU Driven Rendering(実装中)

Depth Prepass

遅延シェーディング

ECS、100.000個以上でも高速(簡単なカスタム実装)

シーンビュアー、シーンシステム

シェーダホットリロード

Unreal PBR

ACES, Uncharted, GT7トーンマッピング

メッシュロード処理

言語など:

C++23, Vulkan, Tracy, Visual Studio, VS Code, Assimp, ImGUI

Voxel-Based グローバル・イルミネーション

卒論 2021.1

OpenGLの遅延シェーディングレンダーラーで最先端なグローバル・イルミネーションを実装する

Build

動画

時間帯: 二月間 

Features:

遅延シェーディング

PBR

Compute Shader

Geometry Shader

コーントレーシング

3Dテクスチャ

ボクセル可視化

言語など:

C++17, OpenGL, CMake, Assimp, ImGUI, boost

ルービックキューブ

大学 2020.2

OpenGLでルービックキューブを実装しました

ビルド

動画

時間帯: 一月間

フィーチャー:

遅延シェーディング

アニメーション

ノーマルマッピング

エンバイロンメントマッピング

ライティング(Blinn Phong,ガンマ)

.obj リーダー

サウンド

言語など:

C++17

OpenGL

Visual Studio

boost

Calm Horizon

Global Game Jam 2021.1

三人のプログラマーとUnity3Dアドベンチャーゲームを作りました。他の三人がプロでした色んなことを習いました。

ビルド

動画

時間帯: 二日間

担当部分:

船の操作

インプット

キャメラ

トランジション

イベントシステム

言語など:

C#

Unity

VindZeit

大学 2020.2

大学プロジェクトにチームUnreal Engine 43Dアドベンチャーゲーム作る。二人のデザイナと私でした。

ビルド

トレーラー / 動画

プロローグの動画

時間帯: 五月間

担当部分:

プログラミング (C++とBP)

QTEシステム

キャメラエフェクト

アニメーション

パーティクルシステムと最適化

システムについてデザイナと相談しました

言語など:

C++

Blueprint

Unreal Engine 4

UE4アニメーションプラグイン

大学 2020.2

基本的なDistanceMatchingと基本的なRotationWarpingUE4のアニメーションプラグインとして実装しました。Paragonというゲームとかにはよく使いましたシステム。現在、0-45°のキャラクターローテーションだけが対応できます。

プラグインなしで

プラグインで

時間帯: 四週間

フィーチャー:

アニメーションをキャラクターの速さによって操る

スムーズなスタートとエンドトランジション

ボーンをキャラクターのローテーションによってローテーションする

カスタムUE4のアニメーションノード

言語など:

C++

Blueprint

Unreal Engine 4

液体レンダリング

大学 2020.1

Portal 2っぽいな液体をOpenGLで実装しました。

ビルド

時間帯: 三週間

フィーチャー:

Signed Distance Functionで液体レンダリング

勾配でライティング

Geometry Shaderでビルボードを作る

言語など:

C++

OpenGL

Visual Studio

環境マップをフィルターする

独学 2020.1

OpenGL環境マップをフィルターして玉にキューブマップとしてマップしました。

ビルド

時間帯: 三週間

フィーチャー:

環境マップをサンプル

オフスクリーンレンダリング

Monte Carloフィルター

環境マップをキューブマップに変えました

言語など:

C++98

OpenGL

Visual Studio

基本的なオフラインレイトレーシング

独学 2020.2

チュートリアルでC++のオフラインレイトレーシングのプログラムを作ってCUDAに移動しました。

VS2019でビルドください

レンダー

時間帯: 一週間

フィーチャー:

ディフューズのマテリアル

金属のマテリアル

グラスのマテリアル

DoF

言語など:

C++

CUDA

Visual Studio