# KPT_v1 **Repository Path**: Kpure1000/KPT_v1 ## Basic Information - **Project Name**: KPT_v1 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-21 - **Last Updated**: 2024-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KPT _Kpurek' path tracer ver1_ ### Dependencies * [CSUGL - OpenGL Based Renderer](https://gitee.com/Kpure1000/KPT_v1) ### Screen Shots ![asd](screenshot/kpt.png) ![accumulation value](https://gitee.com/Kpure1000/KPT_v1/raw/master/screenshot/accumValue.png) ### Feature #### Integrate Method * Path Tracing #### Sampling Method * BRDF Sampling #### Material * Lambertian * Specular (with roughness option) * Emission (light source) #### Primitive * Sphere * Triangle ### Build First clone the repository dependent ``` bash mkdir vendor cd vendor git clone --recursive https://gitee.com/Kpure1000/KPT_v1.git cd .. ``` Use __CMake Toolchain__ to build KPT on your platform, such as __CMake Tools__, which is recommended in __VS Code__ ### Usage * __Scene__: Render Target * __KeyPress 'W A S D'__: move camera * __MouseDrag Left__: rotate camera * __Path Tracer Option__ * __SPP__: sample per pixel * __P_RR__: termination probability of Russian Roulette * __Skybox__: enable/disable skybox * __Primitive__ * __Add Primitive As__: add a primitive as following option * __Remove__: remove selected primitive * __Primitive__: ptimitive type (sphere/triangle supported) * __Material__: material type (diffuse/glossy/emission supported) * __Primitive List__: list of primitives, which is selectable * __Primitive Propertise__: propertise of selected primitive in list * __Transform__: the transform info of selected one * __Metairla__: the material info of selected one ### TODO - [ ] Light Sampling - [ ] Blinn-Phong - [ ] Mircofacet - [ ] Simple Scene File & Scene Loader