일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- LiV
- OpenGL
- MongoDB
- vertexbufferobject
- react
- BeatSaber
- 수학 #기하학 #벡터 #벡터연산 #선형대수학
- 회전행렬
- vao
- vertexattributeobject
- 쿼터니온
- unity
- 3d 기하학
- bufferobjects
- Drawcall
- liltoon
- vbo
- 수학
- VRChat
- ReactJS
- initialization
- Directx12
- ibo
- callbacks
- VRC
- indexbufferobject
- NVM
- shaders
- bufferswap
- kubernetes
- Today
- Total
목록3D Engine (15)
To Paint a World

BufferObject#pragma once#include #include #include templateclass BufferObject {private: unsigned int _id; int _type; std::vector * _data;public: BufferObject( int type, std::vector * data); ~BufferObject(); void Bind() const; void Unbind() const; void BufferData() const; void SetAttribPointer(unsigned int vao, int dtype) const; inline std::vector * GetVector() const..

GLApp - CallbacksInitialization 에서 생성한 GLApp 베이스 클래스에 콜백용 버추얼 함수(OnMouseDown, ...) 과 콜백 초기화 함수 (InitCallbacks) 를 선언해준다.class GLApp {// ...protected: virtual void OnMouseDown(int button, double xpos, double ypos) = 0; virtual void OnMouseUp(int button, double xpos, double ypos) = 0; virtual void OnMouseMove(double xpos, double ypos) = 0; protected: bool InitCallbacks();}; Callback ..

GLApp 기본 구조#pragma once#include #include class GLApp {public: ~GLApp();public: void Run();public: virtual bool Initialize() = 0;protected: virtual void Update() = 0; virtual void Draw() = 0;protected: bool InitOpenGL();public: inline GLFWwindow* GetWindow() { return window; }protected: GLFWwindow* window; int width = 640; int height = 640;}; OpenGL 어플리케이션의 기능을 크게 네 ..
행렬 정의XMMATRIX 는 XMVECTOR 인스턴스 네 개를 사용한다.struct XMMATRIX{ XMVECTOR r[4]; // ...}; 행렬을 정의하기 위해선 다음과 같이 4x4개의 float 을 선언해야 한다.XMMATRIX A(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 4.0f, 0.0f, 1.0f, 2.0f, 3.0f, 1.0f); 혹은 XMMatrixSet( ... ) 을 통해 선언 가능하다. 행렬 연산연산 이름수식DirectX결과항등행렬$ I $XMMatrixIdentity() \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 &..
벡터 정의XMVECTOR 는 DirectXMath 에서 정의하는 SIMD 타입으로, 128비트 (32비트 부동소수점 네 개의 값) 연산을 일괄적으로 처리해준다.typedef __m128 XMVECTOR; 기본적으로 4차원 벡터 하나에 대응되나, 값 2개만을 사용해서 2차원 벡터, 혹은 3개를 사용하여 3차원 벡터로 표현할 수 있다.XMVECTOR n = XMVectorSet(1.0f, 0.0f, 0.0f, 0.0f); 벡터 연산 연산 이름수식DirectX결과상등 (equal)$ \vec{u} == \vec{v} $XMVector3Equal(u, v)$ x_1 == x_2, y_1 == y_2, z_1 == z_2 $덧셈 (addition)$ \vec{u} + \vec{v} $u + v$ (x_1 + ..

0. 활용 프로그램Unity : https://unity.com/kr/downloadSteam / SteamVR : https://store.steampowered.com/about/LIV : https://store.steampowered.com/app/755540/LIV/OBS : https://obsproject.com/ko 1. TemplateAvatarProjecthttps://drive.google.com/file/d/1YzJamlspmbri-bLa_MARe9sVZpBWaEVW/view 다운받은 TemplateAvatarProject 를 압축 해제하고, Unity Hub > Projects > Add > Add project from disk 를 통해 프로젝트를 추가한다. 추가된 프로젝트를 ..

LIV 아바타 프로젝트 등은 이전 버전의 유니티 (2018.4) 를 요구한다.liltoon 을 유니티 패키지 매니저 / vrc companion 을 통해 임포트할 수 없으므로, 직접 unitypackage 를 다운받고 임포트하는 과정이 필요하다. 1. 릴툰 패키지 다운로드 https://booth.pm/ja/items/3087170 【無料】lilToon - lilLab - BOOTHアバターを用いたサービス(VRChat等)向けに開発したシェーダーで以下のような特徴があります。 ● 簡単(プリセットからワンクリック設定&自作プリセットの保存、色調補正機能によるbooth.pm "무료 다운로드" 버튼을 클릭하여 최신 버전의 릴툰을 다운받는다.압축을 해제하면 jp.lilxyzw.liltoon-1.x.x-installer.unit..