Skip to content

Latest commit

 

History

History
335 lines (272 loc) · 12.8 KB

README.md

File metadata and controls

335 lines (272 loc) · 12.8 KB

General

This is just scatchpad app for following OpenGL tutorial at learnopengl.com.

SETUP

Sub modules

git submodule init
git submodule update --init  --recursive

Build assets

Install ruby

Ruby+Devkit 3.4.1-2 (x64) (https://rubyinstaller.org)

$ cat ~/.irbrc
IRB.conf[:USE_AUTOCOMPLETE] = false

Setup

bundle install

.rdbgrc

#
# https://github.com/ruby/debug
#

config set no_hint true
config set show_frames 0
config set use_short_path true
config set no_reline 1

.irbrc

#
# https://ruby-doc.org/3.4.1/stdlibs/irb/IRB.html#module-IRB-label-Configuration
#
# @see IRB.conf

IRB.conf[:USE_AUTOCOMPLETE] = false
#IRB.conf[:PROMPT_MODE] = :SIMPLE
#IRB.conf[:USE_PAGER] = false
#IRB.conf[:BACK_TRACE_LIMIT] = 0
#IRB.conf[:CONTEXT_MODE] = 0
#IRB.conf[:INSPECT_MODE] = false
#IRB.conf[:COMMAND_ALIASES] = {}

prepare assets

ruby script/encode_ktx.rb meta --src resources/assets/textures/Metal022_1K-PNG --dry-run false --force true

build assets

ruby script/encode_ktx.rb ktx --src resources/assets/textures/Metal022_1K-PNG --dry-run false --target-size 2048 --force true

vcpkg-registry

Clone vcpkg-registry

# into same level as learnopengl repo
cd $ROOT
git clone [email protected]:kikonen/vcpkg-registry.git

Test vcpkg-registry

# NOTE KI in *POWERSHELL** not bash
cd learnopengl
vcpkg install --feature-flags=registries,manifests

opengl GLAD setup

  1. generae package https://glad.dav1d.de
  • include
    • GL_ARB_Bindless_Texture
  1. Download

  2. Unzip into vendor/glad

Vendor modules

generator

For generating simple basic meshes https://github.com/ilmola/generator

TODO/Research

Misc techniques

OpenGL Specs

UBO/SSBO alignment

Billboard

Frustum culling

GPU frustum/occlusion culling

CPU frustum culling

Compute shader

GPU Texture Compression

ktx albedo

ktxinfo.exe Planks09_col_2048.ktx

Compress

toktx.exe --verbose --genmipmap --encode astc Planks09_col_2048.ktx Planks09_col_2048.png

Scripting

Skybox

Height map

Tessellation

G-buffer

Skeletal animation

CSM

Geometry shader

Physics

Quaternions

Audio

Misc

C++

Visual C++

SIMD

UUID

Libraries

References