├── strategy.md
├── Homeworks
├── 0_CppPratices
│ ├── project
│ │ ├── data
│ │ │ ├── P3.txt
│ │ │ ├── P4.txt
│ │ │ ├── P6.txt
│ │ │ ├── P1.txt
│ │ │ ├── P2.txt
│ │ │ └── P5.txt
│ │ ├── src
│ │ │ ├── executables
│ │ │ │ ├── 1_BasicDArray
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── 2_EfficientDArray
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── 4_list_Polynomial
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ └── 5_map_Polynomial
│ │ │ │ │ └── CMakeLists.txt
│ │ │ └── libraries
│ │ │ │ ├── static
│ │ │ │ └── CMakeLists.txt
│ │ │ │ └── shared
│ │ │ │ └── CMakeLists.txt
│ │ ├── CMakeLists.txt
│ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ ├── samples
│ │ ├── data
│ │ │ ├── P3.txt
│ │ │ ├── P4.txt
│ │ │ ├── P6.txt
│ │ │ ├── P1.txt
│ │ │ ├── P2.txt
│ │ │ └── P5.txt
│ │ ├── src
│ │ │ ├── executables
│ │ │ │ ├── 1_BasicDArray
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── 2_EfficientDArray
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── 3_TemplateDArray
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── 4_list_Polynomial
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ └── 5_map_Polynomial
│ │ │ │ │ └── CMakeLists.txt
│ │ │ └── libraries
│ │ │ │ ├── static
│ │ │ │ └── CMakeLists.txt
│ │ │ │ └── shared
│ │ │ │ └── CMakeLists.txt
│ │ ├── CMakeLists.txt
│ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ └── documents
│ │ ├── 1_BasicDArray
│ │ ├── C2Cpp
│ │ │ ├── bin
│ │ │ │ └── README.md
│ │ │ ├── src
│ │ │ │ ├── Array5
│ │ │ │ │ ├── Array.cpp
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── main.cpp
│ │ │ │ ├── Array
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── test.cpp
│ │ │ │ ├── Array0
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── Array1.0
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── Array1.1
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── Array2
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── Array3
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ └── Array4
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ └── Array.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README.md
│ │ │ └── cmake
│ │ │ │ └── InitUCMake.cmake
│ │ └── README.md
│ │ ├── README.md
│ │ ├── 3_TemplateDArray
│ │ └── README.md
│ │ └── 5_map_Polynomial
│ │ └── README.md
├── 4_MinSurfMeshPara
│ ├── project
│ │ ├── src
│ │ │ ├── Basic
│ │ │ │ ├── Sampler
│ │ │ │ │ ├── Sampler2D.cpp
│ │ │ │ │ ├── Sampler3D.cpp
│ │ │ │ │ ├── AliasMethod.cpp
│ │ │ │ │ ├── CosHsSample3D.cpp
│ │ │ │ │ └── UniformGridSampler2D.cpp
│ │ │ │ ├── ShapeMesh
│ │ │ │ │ ├── desktop.ini
│ │ │ │ │ ├── SphereMesh.cpp
│ │ │ │ │ ├── CapsuleMesh.cpp
│ │ │ │ │ └── ShapeMesh.cpp
│ │ │ │ ├── Parallel.cpp
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Operation
│ │ │ │ │ └── OpQueue.cpp
│ │ │ │ ├── ImgPixelSet.cpp
│ │ │ │ └── Math.cpp
│ │ │ ├── App
│ │ │ │ └── UEngine
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── UEngine.qrc
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── UEngine.cpp
│ │ │ │ │ ├── GenScene.h
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ └── UEngine.h
│ │ │ ├── Engine
│ │ │ │ ├── Intersector
│ │ │ │ │ └── Intersector.cpp
│ │ │ │ ├── RTX
│ │ │ │ │ ├── Film.h
│ │ │ │ │ ├── BVHNode.h
│ │ │ │ │ ├── BVHNode.cpp
│ │ │ │ │ ├── FilmTile.h
│ │ │ │ │ ├── FilmTile.cpp
│ │ │ │ │ ├── RTX_Renderer.cpp
│ │ │ │ │ └── Film.cpp
│ │ │ │ ├── Scene
│ │ │ │ │ ├── SObjLoader.h
│ │ │ │ │ ├── Component.cpp
│ │ │ │ │ ├── SimpleLoader.h
│ │ │ │ │ ├── CmptLight.cpp
│ │ │ │ │ └── AssimpLoader.h
│ │ │ │ ├── Viewer
│ │ │ │ │ ├── Raster.cpp
│ │ │ │ │ ├── EnvGenerator.cpp
│ │ │ │ │ ├── DLDM_Generator.cpp
│ │ │ │ │ ├── ForwardRaster.cpp
│ │ │ │ │ ├── PLDM_Generator.cpp
│ │ │ │ │ ├── SLDM_Generator.cpp
│ │ │ │ │ ├── Picker.h
│ │ │ │ │ ├── WireframeRaster.cpp
│ │ │ │ │ └── Picker.cpp
│ │ │ │ ├── MeshEdit
│ │ │ │ │ ├── Simulate.cpp
│ │ │ │ │ └── Paramaterize.cpp
│ │ │ │ ├── Primitive
│ │ │ │ │ ├── TriMesh.cpp
│ │ │ │ │ ├── Sphere.cpp
│ │ │ │ │ └── Triangle.cpp
│ │ │ │ ├── Filter
│ │ │ │ │ ├── FilterSinc.cpp
│ │ │ │ │ └── FilterMitchell.cpp
│ │ │ │ ├── Light
│ │ │ │ │ ├── DirectionalLight.cpp
│ │ │ │ │ ├── PointLight.cpp
│ │ │ │ │ ├── DiskLight.cpp
│ │ │ │ │ ├── SphereLight.cpp
│ │ │ │ │ ├── CapsuleLight.cpp
│ │ │ │ │ ├── SpotLight.cpp
│ │ │ │ │ └── AreaLight.cpp
│ │ │ │ ├── Material
│ │ │ │ │ ├── BSDF_Glass.cpp
│ │ │ │ │ ├── BSDF_Mirror.cpp
│ │ │ │ │ ├── BSDF.cpp
│ │ │ │ │ └── Beckmann.cpp
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── UI
│ │ │ │ ├── Grid.cpp
│ │ │ │ ├── Attribute.cpp
│ │ │ │ ├── Hierarchy.cpp
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── OpenGL
│ │ │ │ ├── VAO.cpp
│ │ │ │ ├── Texture.cpp
│ │ │ │ └── CMakeLists.txt
│ │ │ └── Qt
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── OpThread.cpp
│ │ ├── data
│ │ │ ├── .gitignore
│ │ │ └── shaders
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README.md
│ │ │ │ ├── Common
│ │ │ │ ├── empty.fs
│ │ │ │ ├── basic.fs
│ │ │ │ ├── basic_T2.fs
│ │ │ │ ├── basic_P3.vs
│ │ │ │ ├── MVP_P3.vs
│ │ │ │ ├── basic_P2T2.vs
│ │ │ │ ├── camera.h
│ │ │ │ ├── basic_P3T2.vs
│ │ │ │ ├── postProcess.fs
│ │ │ │ ├── basic_P3N3.vs
│ │ │ │ ├── basic_P3N3_invN.vs
│ │ │ │ ├── basic_P3N3T2.vs
│ │ │ │ ├── basic_P3N3T2_invN.vs
│ │ │ │ ├── basic_P3N3T2T3.vs
│ │ │ │ └── interpolation.fs
│ │ │ │ ├── Engine
│ │ │ │ ├── DirectionalLight
│ │ │ │ │ ├── genDepth.fs
│ │ │ │ │ └── genDepth.vs
│ │ │ │ ├── Light
│ │ │ │ │ ├── AreaLight.h
│ │ │ │ │ ├── DiskLight.h
│ │ │ │ │ ├── PointLight.h
│ │ │ │ │ ├── SphereLight.h
│ │ │ │ │ ├── SpotLight.h
│ │ │ │ │ └── CapsuleLight.h
│ │ │ │ ├── PointLight
│ │ │ │ │ ├── genDepth.vs
│ │ │ │ │ ├── genDepth.fs
│ │ │ │ │ └── genDepth.gs
│ │ │ │ ├── IBL
│ │ │ │ │ ├── cubemap.vs
│ │ │ │ │ ├── prefilter.fs
│ │ │ │ │ ├── brdf.fs
│ │ │ │ │ ├── irradiance_convolution.fs
│ │ │ │ │ └── equirectangular_to_cubemap.fs
│ │ │ │ ├── DeferredPipeline
│ │ │ │ │ ├── postProcess.fs
│ │ │ │ │ ├── GBuffer_Emission.fs
│ │ │ │ │ └── GBuffer_Diffuse.fs
│ │ │ │ ├── Skybox
│ │ │ │ │ ├── skybox.vs
│ │ │ │ │ └── skybox.fs
│ │ │ │ └── BRDF
│ │ │ │ │ └── Diffuse.h
│ │ │ │ └── Math
│ │ │ │ ├── line.h
│ │ │ │ ├── quat.h
│ │ │ │ ├── basic.h
│ │ │ │ ├── plane.h
│ │ │ │ ├── sample.h
│ │ │ │ ├── Segment.h
│ │ │ │ └── intersect.h
│ │ ├── include
│ │ │ ├── .gitignore
│ │ │ ├── Basic
│ │ │ │ ├── Math.h
│ │ │ │ ├── Node.h
│ │ │ │ ├── Timer.h
│ │ │ │ ├── HeapObj.h
│ │ │ │ ├── LStorage.h
│ │ │ │ ├── Op
│ │ │ │ │ ├── LambdaOp.h
│ │ │ │ │ ├── Op.h
│ │ │ │ │ └── OpQueue.h
│ │ │ │ ├── Sampler
│ │ │ │ │ ├── Sampler2D.h
│ │ │ │ │ ├── UniformGridSampler2D.h
│ │ │ │ │ ├── Sampler3D.h
│ │ │ │ │ ├── CosHsSampler3D.h
│ │ │ │ │ ├── BasicSampler.h
│ │ │ │ │ └── AliasMethod.h
│ │ │ │ ├── ImgPixelSet.h
│ │ │ │ ├── ArgManager.h
│ │ │ │ ├── ShapeMesh
│ │ │ │ │ ├── ShapeMesh.h
│ │ │ │ │ ├── PlaneMesh.h
│ │ │ │ │ ├── CubeMesh.h
│ │ │ │ │ ├── DiskMesh.h
│ │ │ │ │ ├── SphereMesh.h
│ │ │ │ │ └── CapsuleMesh.h
│ │ │ │ ├── TypeMap.h
│ │ │ │ ├── Array2D.h
│ │ │ │ ├── Geometry.h
│ │ │ │ └── File.h
│ │ │ ├── OpenGL
│ │ │ │ └── Camera.h
│ │ │ ├── UI
│ │ │ │ ├── Hierarchy.h
│ │ │ │ └── Setting.h
│ │ │ ├── Engine
│ │ │ │ ├── Light
│ │ │ │ │ ├── Light.h
│ │ │ │ │ ├── AreaLight.h
│ │ │ │ │ ├── DiskLight.h
│ │ │ │ │ ├── PointLight.h
│ │ │ │ │ ├── SphereLight.h
│ │ │ │ │ ├── SpotLight.h
│ │ │ │ │ ├── CapsuleLight.h
│ │ │ │ │ ├── DirectionalLight.h
│ │ │ │ │ └── InfiniteAreaLight.h
│ │ │ │ ├── Material
│ │ │ │ │ ├── GGX.h
│ │ │ │ │ ├── Beckmann.h
│ │ │ │ │ ├── SchlickGGX.h
│ │ │ │ │ ├── BSDF_Frostbite.h
│ │ │ │ │ ├── BSDF_MetalWorkflow.h
│ │ │ │ │ ├── MicrofacetDistribution.h
│ │ │ │ │ ├── AllBSDFs.h
│ │ │ │ │ ├── Material.h
│ │ │ │ │ ├── Gooch.h
│ │ │ │ │ └── BSDF_Mirror.h
│ │ │ │ ├── Scene
│ │ │ │ │ ├── SObj.h
│ │ │ │ │ ├── AllComponents.h
│ │ │ │ │ ├── Component.h
│ │ │ │ │ ├── CmptMaterial.h
│ │ │ │ │ ├── CmptGeometry.h
│ │ │ │ │ └── CmptLight.h
│ │ │ │ ├── Viewer
│ │ │ │ │ ├── Raster.h
│ │ │ │ │ ├── BVHAccel.h
│ │ │ │ │ ├── PathTracer.h
│ │ │ │ │ ├── RayTracer.h
│ │ │ │ │ ├── Ray.h
│ │ │ │ │ ├── WireframeRaster.h
│ │ │ │ │ └── Roamer.h
│ │ │ │ ├── MeshEdit
│ │ │ │ │ ├── Simulate.h
│ │ │ │ │ ├── Paramaterize.h
│ │ │ │ │ ├── Glue.h
│ │ │ │ │ └── MST.h
│ │ │ │ ├── Primitive
│ │ │ │ │ ├── Capsule.h
│ │ │ │ │ ├── Plane.h
│ │ │ │ │ ├── Sphere.h
│ │ │ │ │ ├── Triangle.h
│ │ │ │ │ ├── Primitive.h
│ │ │ │ │ ├── Shape.h
│ │ │ │ │ └── Disk.h
│ │ │ │ ├── Intersector
│ │ │ │ │ ├── VisibilityChecker.h
│ │ │ │ │ ├── ClosestIntersector.h
│ │ │ │ │ └── Intersector.h
│ │ │ │ ├── Filter
│ │ │ │ │ ├── FilterBox.h
│ │ │ │ │ ├── ImgFilter.h
│ │ │ │ │ ├── FilterTriangle.h
│ │ │ │ │ ├── FilterSinc.h
│ │ │ │ │ ├── FilterMitchell.h
│ │ │ │ │ └── FilterGaussian.h
│ │ │ │ └── Engine.h
│ │ │ ├── _deps
│ │ │ │ └── README.md
│ │ │ └── Qt
│ │ │ │ ├── OpThread.h
│ │ │ │ └── PaintImgOpCreator.h
│ │ └── config
│ │ │ └── ROOT_PATH.h.in
│ ├── README.md
│ └── documents
│ │ └── obj.md
├── 7_SimulationTaichi
│ ├── project
│ │ ├── src
│ │ │ ├── app
│ │ │ │ └── CMakeLists.txt
│ │ │ └── example
│ │ │ │ ├── 03_cubes
│ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── 00_mls_mpm88
│ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── 01_mls_mpm88_x
│ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── 02_snowball
│ │ │ │ └── CMakeLists.txt
│ │ │ │ └── 04_fountain
│ │ │ │ └── CMakeLists.txt
│ │ └── README.md
│ └── README.md
├── 8_Shader
│ ├── project
│ │ ├── src
│ │ │ ├── tool
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── SimpleLoader.h
│ │ │ └── app
│ │ │ │ ├── 0_displacement_normal
│ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── 1_denoise
│ │ │ │ └── CMakeLists.txt
│ │ │ │ └── 2_shadow
│ │ │ │ └── CMakeLists.txt
│ │ ├── data
│ │ │ ├── shaders
│ │ │ │ ├── empty.frag
│ │ │ │ ├── p3.vert
│ │ │ │ ├── p3t2n3.vert
│ │ │ │ ├── p3t2n3_denoise.vert
│ │ │ │ └── dn.vert
│ │ │ ├── models
│ │ │ │ └── CMakeLists.txt
│ │ │ └── textures
│ │ │ │ └── CMakeLists.txt
│ │ └── include
│ │ │ └── _deps
│ │ │ └── CMakeLists.txt
│ └── README.md
├── 1_MiniDraw
│ ├── documents
│ │ ├── example
│ │ │ ├── src
│ │ │ │ └── example
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── example.qrc
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ ├── example.h
│ │ │ │ │ └── example.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README.md
│ │ │ └── cmake
│ │ │ │ └── InitUCMake.cmake
│ │ └── hello
│ │ │ ├── src
│ │ │ └── hello
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── main.cpp
│ │ │ │ ├── mainwindow.h
│ │ │ │ ├── mainwindow.ui
│ │ │ │ └── mainwindow.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README.md
│ │ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ ├── project
│ │ ├── src
│ │ │ └── App
│ │ │ │ ├── minidraw.qrc
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Line.h
│ │ │ │ ├── Rect.h
│ │ │ │ ├── Line.cpp
│ │ │ │ ├── shape.cpp
│ │ │ │ ├── Rect.cpp
│ │ │ │ ├── main.cpp
│ │ │ │ ├── shape.h
│ │ │ │ ├── viewwidget.ui
│ │ │ │ ├── minidraw.h
│ │ │ │ ├── minidraw.ui
│ │ │ │ └── viewwidget.h
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ └── README.md
├── 2_ImageWarping
│ ├── project
│ │ ├── data
│ │ │ └── test.png
│ │ ├── src
│ │ │ ├── App
│ │ │ │ ├── Resources
│ │ │ │ │ └── images
│ │ │ │ │ │ ├── new.jpg
│ │ │ │ │ │ ├── open.jpg
│ │ │ │ │ │ └── save.jpg
│ │ │ │ ├── main.cpp
│ │ │ │ ├── mainwindow.qrc
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── mainwindow.ui
│ │ │ │ └── ImageWidget.h
│ │ │ └── _deps
│ │ │ │ └── eigen
│ │ │ │ └── CMakeLists.txt
│ │ ├── CMakeLists.txt
│ │ ├── cmake
│ │ │ └── InitUCMake.cmake
│ │ └── README.md
│ └── documents
│ │ ├── ann_example
│ │ ├── src
│ │ │ └── test
│ │ │ │ └── CMakeLists.txt
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ │ └── eigen_example
│ │ ├── src
│ │ ├── test
│ │ │ └── 00_LinearEquation
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── main.cpp
│ │ └── _deps
│ │ │ └── eigen
│ │ │ └── CMakeLists.txt
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ └── cmake
│ │ └── InitUCMake.cmake
├── 9_PathTracing
│ ├── project
│ │ ├── src
│ │ │ ├── PathTracer
│ │ │ │ └── CMakeLists.txt
│ │ │ └── UEditor
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Editor.h
│ │ │ │ ├── Cmpt
│ │ │ │ ├── ArcBall.h
│ │ │ │ ├── Roamer.h
│ │ │ │ ├── PathTracerAgency.h
│ │ │ │ ├── Hierarchy.h
│ │ │ │ ├── Inspector.h
│ │ │ │ └── detail
│ │ │ │ │ └── Hierarchy.inl
│ │ │ │ └── GenScene.h
│ │ ├── data
│ │ │ ├── shaders
│ │ │ │ ├── img.fs
│ │ │ │ ├── p2t2.vs
│ │ │ │ ├── env.vs
│ │ │ │ ├── p3t2.vs
│ │ │ │ ├── postprocess.fs
│ │ │ │ ├── env.fs
│ │ │ │ ├── light.fs
│ │ │ │ └── p3t2n3t3.vs
│ │ │ └── textures
│ │ │ │ └── CMakeLists.txt
│ │ └── CMakeLists.txt
│ └── README.md
├── 6_MassSpring
│ ├── documents
│ │ └── tetgen
│ │ │ ├── data
│ │ │ ├── cube.stl
│ │ │ └── cube.poly
│ │ │ ├── src
│ │ │ ├── TetGene
│ │ │ │ ├── Tet_generate.cpp
│ │ │ │ ├── main.cpp
│ │ │ │ ├── Tet_generate.h
│ │ │ │ ├── globalFunctions.h
│ │ │ │ └── CMakeLists.txt
│ │ │ └── CMakeLists.txt
│ │ │ └── README.md
│ ├── README.md
│ └── project
│ │ └── README.md
├── 3_PoissonImageEditing
│ ├── documents
│ │ ├── opencv_example
│ │ │ ├── src
│ │ │ │ └── test
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Resources
│ │ │ │ │ └── images
│ │ │ │ │ │ ├── open.jpg
│ │ │ │ │ │ └── save.jpg
│ │ │ │ │ ├── mainwindow.qrc
│ │ │ │ │ ├── main.cpp
│ │ │ │ │ └── mainwindow.ui
│ │ │ ├── CMakeLists.txt
│ │ │ └── cmake
│ │ │ │ └── InitUCMake.cmake
│ │ └── ScanningLine.md
│ ├── project
│ │ ├── src
│ │ │ └── App
│ │ │ │ ├── Resources
│ │ │ │ └── images
│ │ │ │ │ ├── open.jpg
│ │ │ │ │ └── save.jpg
│ │ │ │ ├── mainwindow.qrc
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── main.cpp
│ │ │ │ ├── ChildWindow.cpp
│ │ │ │ ├── ChildWindow.h
│ │ │ │ └── mainwindow.ui
│ │ ├── CMakeLists.txt
│ │ ├── README.md
│ │ └── cmake
│ │ │ └── InitUCMake.cmake
│ └── README.md
└── 5_ARAP
│ ├── README.md
│ └── project
│ └── README.md
├── .gitignore
├── Softwares
└── Qt.md
└── LICENSE
/strategy.md:
--------------------------------------------------------------------------------
1 | # 攻略
2 |
3 | 暂无内容。
4 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P3.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 1 2
3 | 4 -3
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P4.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 1 4
3 | 4 -3
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P6.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 2 4
3 | 3 -2
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P3.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 1 2
3 | 4 -3
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P4.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 1 4
3 | 4 -3
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P6.txt:
--------------------------------------------------------------------------------
1 | P 2
2 | 2 4
3 | 3 -2
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/Sampler2D.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/Sampler3D.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/.gitignore:
--------------------------------------------------------------------------------
1 | out/
2 | *.txt
3 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/bin/README.md:
--------------------------------------------------------------------------------
1 | 程序默认的工作路径
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/.gitignore:
--------------------------------------------------------------------------------
1 | Resources/
2 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Intersector/Intersector.cpp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/.gitignore:
--------------------------------------------------------------------------------
1 | App/RTGIwRRF/
2 | CppUtil/
3 | _DEBUG_*
4 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array5/Array.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include "Array.h"
3 |
4 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P1.txt:
--------------------------------------------------------------------------------
1 | P 8
2 | 0 2
3 | 5 -3
4 | 12 5
5 | 2 6
6 | 5 7
7 | 3 -4
8 | 2 9
9 | 2 2
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P1.txt:
--------------------------------------------------------------------------------
1 | P 8
2 | 0 2
3 | 5 -3
4 | 12 5
5 | 2 6
6 | 5 7
7 | 3 -4
8 | 2 9
9 | 2 2
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/example/03_cubes/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P2.txt:
--------------------------------------------------------------------------------
1 | P 8
2 | 0 4
3 | 4 -3
4 | 11 4
5 | 3 -4
6 | 4 7
7 | 7 -4
8 | 4 -8
9 | 6 4
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P2.txt:
--------------------------------------------------------------------------------
1 | P 8
2 | 0 4
3 | 4 -3
4 | 11 4
5 | 3 -4
6 | 4 7
7 | 7 -4
8 | 4 -8
9 | 6 4
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/ShapeMesh/desktop.ini:
--------------------------------------------------------------------------------
1 | [LocalizedFileNames]
2 | Cube.cpp=@Cube.cpp,0
3 |
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/example/00_mls_mpm88/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/example/01_mls_mpm88_x/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/example/02_snowball/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/7_SimulationTaichi/project/src/example/04_fountain/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" TEST ON)
2 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/src/tool/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "LIB" LIBS "Ubpa::UGM_core;Ubpa::UGL_core")
2 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/example/src/example/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(MODE "EXE" QT ON LIBS "Qt5::Widgets")
2 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/README.md:
--------------------------------------------------------------------------------
1 | 引擎内部实现了 `#include` 功能,生成的 `_DEBUG_*.h` 文件是用于 debug 的
2 |
3 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/data/shaders/empty.frag:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | void main()
4 | {
5 | // empty
6 | }
7 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/1_BasicDArray/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/1_BasicDArray/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array0/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array1.0/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array1.1/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array2/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array3/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array4/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array5/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/2_EfficientDArray/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/2_EfficientDArray/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/3_TemplateDArray/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | )
5 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/minidraw.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/empty.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | in vec4 FragPos;
3 |
4 | void main()
5 | {
6 | }
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/example/src/example/example.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | QT
4 | MODE EXE
5 | LIB
6 | Qt5::Widgets
7 | )
8 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/data/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/2_ImageWarping/project/data/test.png
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/UEngine.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/src/PathTracer/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | MODE STATIC
3 | LIB
4 | Ubpa::UEngine_core
5 | )
6 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/.gitignore:
--------------------------------------------------------------------------------
1 | glad/
2 | glm/
3 | KHR/
4 | GLFW/glfw3.h
5 | GLFW/glfw3native.h
6 | Eigen/
7 | HEMesh/
8 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/hello/src/hello/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | QT
4 | MODE EXE
5 | LIB
6 | Qt5::Widgets
7 | )
8 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/UI/Grid.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/UI/Grid.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/data/P5.txt:
--------------------------------------------------------------------------------
1 | P 10
2 | 3 -3
3 | 2 3
4 | 10 40
5 | 30 -14
6 | 24 17
7 | 71 -24
8 | 42 -18
9 | 61 24
10 | 9 -45
11 | 2 -2
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/data/P5.txt:
--------------------------------------------------------------------------------
1 | P 10
2 | 3 -3
3 | 2 3
4 | 10 40
5 | 30 -14
6 | 24 17
7 | 71 -24
8 | 42 -18
9 | 61 24
10 | 9 -45
11 | 2 -2
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/ann_example/src/test/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE EXE
4 | LIB
5 | Ubpa::UANN_ann
6 | )
7 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/DirectionalLight/genDepth.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | in vec4 FragPos;
3 |
4 | void main()
5 | {
6 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/OpenGL/VAO.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/OpenGL/VAO.cpp
--------------------------------------------------------------------------------
/Homeworks/6_MassSpring/documents/tetgen/data/cube.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/6_MassSpring/documents/tetgen/data/cube.stl
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/documents/1_BasicDArray/README.md
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Math.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/Math.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Node.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/Node.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Timer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/Timer.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/Film.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/Film.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/UI/Attribute.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/UI/Attribute.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/UI/Hierarchy.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/UI/Hierarchy.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/line.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/line.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/quat.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/quat.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/HeapObj.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/HeapObj.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/LStorage.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/LStorage.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/OpenGL/Camera.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/OpenGL/Camera.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/UI/Hierarchy.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/UI/Hierarchy.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/BVHNode.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/BVHNode.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/OpenGL/Texture.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/OpenGL/Texture.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/basic.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/basic.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/plane.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/plane.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/sample.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/sample.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/BVHNode.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/BVHNode.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/FilmTile.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/FilmTile.h
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/Resources/images/new.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/2_ImageWarping/project/src/App/Resources/images/new.jpg
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/Segment.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/Segment.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/intersect.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Math/intersect.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Op/LambdaOp.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Basic/Op/LambdaOp.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/Light.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/Light.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/GGX.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/GGX.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Scene/SObj.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Scene/SObj.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(UI "${PROJECT_SOURCE_DIR}/src/UI")
2 |
3 | Ubpa_AddTarget(MODE "EXE" QT ON LIBS ${UI})
4 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/UEngine.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/UEngine.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/FilmTile.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/FilmTile.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Scene/SObjLoader.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Scene/SObjLoader.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/Raster.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/Raster.cpp
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/Resources/images/open.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/2_ImageWarping/project/src/App/Resources/images/open.jpg
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/Resources/images/save.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/2_ImageWarping/project/src/App/Resources/images/save.jpg
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/Raster.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/Raster.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/RTX_Renderer.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/RTX/RTX_Renderer.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/1_BasicDArray/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/project/src/executables/1_BasicDArray/main.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/1_BasicDArray/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/samples/src/executables/1_BasicDArray/main.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/AreaLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/AreaLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/DiskLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/DiskLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/PointLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/PointLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/SphereLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/SphereLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/SpotLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/SpotLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/Beckmann.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/Beckmann.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/MeshEdit/Simulate.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/MeshEdit/Simulate.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Capsule.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Capsule.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Plane.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Plane.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Sphere.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Sphere.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/BVHAccel.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/BVHAccel.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/PathTracer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/PathTracer.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/RayTracer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Viewer/RayTracer.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/AliasMethod.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/AliasMethod.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/ShapeMesh/SphereMesh.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Basic/ShapeMesh/SphereMesh.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/MeshEdit/Simulate.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/MeshEdit/Simulate.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Primitive/TriMesh.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Primitive/TriMesh.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/EnvGenerator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/EnvGenerator.cpp
--------------------------------------------------------------------------------
/Homeworks/6_MassSpring/documents/tetgen/src/TetGene/Tet_generate.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/6_MassSpring/documents/tetgen/src/TetGene/Tet_generate.cpp
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | QT
3 | TEST
4 | MODE EXE
5 | LIB
6 | Qt5::Widgets
7 | opencv_world
8 | )
9 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/CapsuleLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/CapsuleLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/SchlickGGX.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/SchlickGGX.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Triangle.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Triangle.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/CosHsSample3D.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/CosHsSample3D.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/ShapeMesh/CapsuleMesh.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Basic/ShapeMesh/CapsuleMesh.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/DLDM_Generator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/DLDM_Generator.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/ForwardRaster.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/ForwardRaster.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/PLDM_Generator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/PLDM_Generator.cpp
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/SLDM_Generator.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/src/Engine/Viewer/SLDM_Generator.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/2_EfficientDArray/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/project/src/executables/2_EfficientDArray/main.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/2_EfficientDArray/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/samples/src/executables/2_EfficientDArray/main.cpp
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/3_TemplateDArray/main.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/0_CppPratices/samples/src/executables/3_TemplateDArray/main.cpp
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/Resources/images/open.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/3_PoissonImageEditing/project/src/App/Resources/images/open.jpg
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/Resources/images/save.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/3_PoissonImageEditing/project/src/App/Resources/images/save.jpg
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/AreaLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/AreaLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/DiskLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/DiskLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/PointLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/PointLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/SphereLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/SphereLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/SpotLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/SpotLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/DirectionalLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/DirectionalLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/App/UEngine/GenScene.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Scene;
7 | Ptr GenScene(int n);
8 | }
9 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/CapsuleLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/Light/CapsuleLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/InfiniteAreaLight.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Light/InfiniteAreaLight.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/BSDF_Frostbite.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/BSDF_Frostbite.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/BSDF_MetalWorkflow.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/BSDF_MetalWorkflow.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Intersector/VisibilityChecker.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Intersector/VisibilityChecker.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Intersector/ClosestIntersector.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Intersector/ClosestIntersector.h
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/MicrofacetDistribution.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/MicrofacetDistribution.h
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/libraries/static/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE STATIC
4 | INC
5 | "include"
6 | SOURCE
7 | "${PROJECT_SOURCE_DIR}/include/PolynomialMap.h"
8 | )
9 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/libraries/static/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_AddTarget(
2 | TEST
3 | MODE STATIC
4 | INC
5 | "include"
6 | SOURCE
7 | "${PROJECT_SOURCE_DIR}/include/PolynomialMap.h"
8 | )
9 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/Line.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Shape.h"
4 |
5 | class Line : public Shape {
6 | public:
7 | Line();
8 | ~Line();
9 |
10 | void Draw(QPainter& painter);
11 | };
12 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/config/ROOT_PATH.h.in:
--------------------------------------------------------------------------------
1 | #ifndef _ROOT_PATH_H_
2 | #define _ROOT_PATH_H_
3 |
4 | #include
5 |
6 | const std::string ROOT_PATH("${CMAKE_SOURCE_DIR}/");
7 |
8 | #endif //!_ROOT_PATH_H_
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/basic.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) out vec4 FragColor;
3 |
4 | uniform vec3 color;
5 |
6 | void main()
7 | {
8 | FragColor = vec4(color, 1.0);
9 | }
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/Rect.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Shape.h"
4 |
5 | class Rect : public Shape {
6 | public:
7 | Rect();
8 | ~Rect();
9 |
10 | void Draw(QPainter& painter);
11 | };
12 |
13 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/Resources/images/open.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/Resources/images/open.jpg
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/Resources/images/save.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ubpa/USTC_CG/HEAD/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/Resources/images/save.jpg
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/src/UEditor/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(pathtracer ${PROJECT_SOURCE_DIR}/src/PathTracer)
2 |
3 | Ubpa_AddTarget(
4 | MODE EXE
5 | LIB
6 | Ubpa::UEngine_core
7 | ${pathtracer}
8 | )
9 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/Line.cpp:
--------------------------------------------------------------------------------
1 | #include "Line.h"
2 |
3 | Line::Line()
4 | {
5 | }
6 |
7 | Line::~Line()
8 | {
9 | }
10 |
11 | void Line::Draw(QPainter& painter)
12 | {
13 | painter.drawLine(start, end);
14 | }
15 |
--------------------------------------------------------------------------------
/Homeworks/6_MassSpring/documents/tetgen/src/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #生成 exe 就 "EXE",生成 lib 就 "LIB",生成 dll 就 "DLL"
2 | set(mode "EXE")
3 | set(TARGET_PREFIX "")
4 |
5 | Ubpa_GetDirName(DIRNAME)
6 | set(FOLDER_NAME ${DIRNAME})
7 |
8 | Ubpa_AddSubDirs()
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/eigen_example/src/test/00_LinearEquation/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(eigen "${PROJECT_SOURCE_DIR}/src/_deps/eigen")
2 |
3 | Ubpa_AddTarget(
4 | TEST
5 | MODE EXE
6 | LIB
7 | ${eigen}
8 | )
9 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/mainwindow.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resources/images/open.jpg
4 | Resources/images/save.jpg
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/PointLight/genDepth.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 |
4 | uniform mat4 model;
5 |
6 | void main()
7 | {
8 | gl_Position = model * vec4(aPos, 1.0);
9 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/_deps/README.md:
--------------------------------------------------------------------------------
1 | # 依赖
2 |
3 | - [stb_image.h](https://github.com/nothings/stb/blob/master/stb_image.h)
4 | - [stb_image_write.h](https://github.com/nothings/stb/blob/master/stb_image_write.h)
5 |
6 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Parallel.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | using namespace Ubpa;
4 |
5 | #include
6 |
7 | Parallel::Parallel()
8 | : coreNum(static_cast(omp_get_num_procs())) { }
9 |
10 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GlobGroupSrcs(RST sources PATHS
2 | ${CMAKE_CURRENT_SOURCE_DIR}
3 | "${PROJECT_SOURCE_DIR}/include/Basic"
4 | )
5 |
6 | Ubpa_AddTarget(MODE "LIB" SOURCES ${sources} LIBS Ubpa::UGM_core)
7 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/4_list_Polynomial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(sharedPolynomialList "${PROJECT_SOURCE_DIR}/src/libraries/shared")
2 | Ubpa_AddTarget(
3 | TEST
4 | MODE EXE
5 | LIB
6 | ${sharedPolynomialList}
7 | )
8 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/4_list_Polynomial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(sharedPolynomialList "${PROJECT_SOURCE_DIR}/src/libraries/shared")
2 | Ubpa_AddTarget(
3 | TEST
4 | MODE EXE
5 | LIB
6 | ${sharedPolynomialList}
7 | )
8 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/mainwindow.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resources/images/open.jpg
4 | Resources/images/save.jpg
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/data/shaders/img.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | out vec4 FragColor;
3 |
4 | in vec2 TexCoord;
5 |
6 | // texture samplers
7 | uniform sampler2D img;
8 |
9 | void main()
10 | {
11 | FragColor = texture(img, TexCoord);
12 | }
13 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/example/src/example/main.cpp:
--------------------------------------------------------------------------------
1 | #include "example.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | example w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | MainWindow w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(eigen "${PROJECT_SOURCE_DIR}/src/_deps/eigen")
2 |
3 | Ubpa_AddTarget(
4 | TEST
5 | QT
6 | MODE EXE
7 | LIB
8 | ${eigen}
9 | Qt5::Widgets
10 | opencv_world
11 | )
12 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char* argv[])
5 | {
6 | QApplication a(argc, argv);
7 | MainWindow w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/basic_T2.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | out vec4 FragColor;
3 |
4 | in vec2 TexCoords;
5 |
6 | uniform sampler2D texture0;
7 |
8 | void main(){
9 | FragColor = vec4(texture(texture0, TexCoords).rgb, 1.0f);
10 | }
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/hello/src/hello/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | MainWindow w;
8 | w.show();
9 |
10 | return a.exec();
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Sampler/Sampler2D.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Sampler2D {
7 | public:
8 | virtual const valf2 GetSample() const = 0;
9 | virtual ~Sampler2D() {}
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/mainwindow.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | Resources/images/new.jpg
4 | Resources/images/open.jpg
5 | Resources/images/save.jpg
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/basic_P3.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | #include "camera.h"
4 |
5 | layout (location = 0) in vec3 aPos;
6 |
7 | uniform mat4 model;
8 |
9 | void main(){
10 | gl_Position = projection * view * model * vec4(aPos,1.0);
11 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Sampler/UniformGridSampler2D.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Sampler2D.h"
4 |
5 | namespace Ubpa {
6 | class UniformGridSampler2D : public Sampler2D {
7 | public:
8 | virtual const valf2 GetSample() const;
9 | };
10 | }
11 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/shape.cpp:
--------------------------------------------------------------------------------
1 | #include "Shape.h"
2 |
3 | Shape::Shape()
4 | {
5 | }
6 |
7 | Shape::~Shape()
8 | {
9 | }
10 |
11 | void Shape::set_start(QPoint s)
12 | {
13 | start = s;
14 | }
15 |
16 | void Shape::set_end(QPoint e)
17 | {
18 | end = e;
19 | }
20 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/src/test/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | MainWindow w;
8 | w.show();
9 | return a.exec();
10 | }
11 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/Rect.cpp:
--------------------------------------------------------------------------------
1 | #include "Rect.h"
2 |
3 | Rect::Rect()
4 | {
5 | }
6 |
7 | Rect::~Rect()
8 | {
9 | }
10 |
11 | void Rect::Draw(QPainter& painter)
12 | {
13 | painter.drawRect(start.x(), start.y(),
14 | end.x() - start.x(), end.y() - start.y());
15 | }
16 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/MVP_P3.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 |
4 | uniform mat4 model;
5 | uniform mat4 view;
6 | uniform mat4 proj;
7 |
8 | void main()
9 | {
10 | gl_Position = proj * view * model * vec4(aPos, 1.0);
11 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/DirectionalLight/genDepth.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 |
4 | uniform mat4 model;
5 | uniform mat4 lightProjView;
6 |
7 | void main()
8 | {
9 | gl_Position = lightProjView * model * vec4(aPos, 1.0);
10 | }
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/data/shaders/p3.vert:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | layout (location = 0) in vec3 aPos;
4 |
5 | uniform mat4 projection;
6 | uniform mat4 view;
7 | uniform mat4 model;
8 |
9 | void main()
10 | {
11 | gl_Position = projection * view * model * vec4(aPos, 1.0);
12 | }
13 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/data/models/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_DownloadFile(
2 | https://ubpa.github.io/USTC_CG_Data/Homeworks/08_Shader/models/spot_triangulated_good.obj
3 | ${CMAKE_CURRENT_SOURCE_DIR}/spot_triangulated_good.obj
4 | SHA256 6B24ADB11D65CF3658FA76BC1D589525E51AB997E442859EAC7CA3211B8E0357
5 | )
6 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/data/shaders/p2t2.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec2 aPos;
3 | layout (location = 1) in vec2 aTexCoord;
4 |
5 | out vec2 TexCoord;
6 |
7 | void main()
8 | {
9 | TexCoord = aTexCoord;
10 | gl_Position = vec4(aPos.x, aPos.y, 0.0, 1.0);
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/basic_P2T2.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | layout (location = 0) in vec2 aPos;
4 | layout (location = 1) in vec2 aTexCoords;
5 |
6 | out vec2 TexCoords;
7 |
8 | void main()
9 | {
10 | TexCoords = aTexCoords;
11 | gl_Position = vec4(aPos, 0.0, 1.0);
12 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Qt/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GlobGroupSrcs(RST sources PATHS
2 | ${CMAKE_CURRENT_SOURCE_DIR}
3 | "${PROJECT_SOURCE_DIR}/include/Qt"
4 | )
5 | Ubpa_GetTargetName(Basic "${PROJECT_SOURCE_DIR}/src/Basic")
6 | Ubpa_AddTarget(MODE "LIB" QT ON SOURCES ${sources} LIBS "${Basic};Qt5::Widgets")
7 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Sampler/Sampler3D.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Sampler3D {
7 | public:
8 | virtual const valf3 GetSample() = 0;
9 | virtual const valf3 GetSample(float& pd) = 0;
10 | virtual ~Sampler3D() {}
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Scene/Component.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | using namespace Ubpa;
6 |
7 | void Component::Init_AfterGenPtr() {
8 | auto sobj = GetSObj();
9 | if (sobj)
10 | sobj->AttachComponent(This());
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
2 |
3 | project(C2Cpp VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_AddSubDirsRec(src)
12 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Scene/SimpleLoader.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | #include
6 |
7 | namespace Ubpa {
8 | class SObj;
9 | namespace SimpleLoader {
10 | Ptr LoadObj(const std::string& path);
11 | Ptr LoadTet(const std::string& path);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
2 |
3 | project(CppPractices VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME} ${PROJECT_VERSION}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_AddSubDirsRec(src)
12 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
2 |
3 | project(CppPractices VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME} ${PROJECT_VERSION}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_AddSubDirsRec(src)
12 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/main.cpp:
--------------------------------------------------------------------------------
1 | #include "minidraw.h"
2 | #include
3 |
4 | int main(int argc, char* argv[]) {
5 | _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
6 |
7 | QApplication a(argc, argv);
8 | MiniDraw w;
9 | w.show();
10 | return a.exec();
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/eigen_example/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(eigen_example VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_AddSubDirsRec(src)
12 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/IBL/cubemap.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 |
4 | out vec3 WorldPos;
5 |
6 | uniform mat4 projection;
7 | uniform mat4 view;
8 |
9 | void main()
10 | {
11 | WorldPos = aPos;
12 | gl_Position = projection * view * vec4(WorldPos, 1.0);
13 | }
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/App/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(eigen "${PROJECT_SOURCE_DIR}/src/_deps/eigen")
2 |
3 | set(libs "${eigen};Qt5::Widgets")
4 |
5 | if(USE_ANN)
6 | list(APPEND libs "Ubpa::UANN_ann")
7 | endif()
8 |
9 | Ubpa_AddTarget(
10 | TEST
11 | QT
12 | MODE EXE
13 | LIB
14 | ${libs}
15 | )
16 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/camera.h:
--------------------------------------------------------------------------------
1 | // 160
2 | layout (std140) uniform Camera{
3 | mat4 view; // 64 0 64
4 | mat4 projection; // 64 64 64
5 | vec3 viewPos; // 12 128 144
6 | float nearPlane; // 4 144 148
7 | float farPlane; // 4 148 152
8 | float fov; // 4 152 156
9 | float ar; // 4 156 160
10 | };
11 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(MiniDraw VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Widgets)
12 |
13 | Ubpa_AddSubDirsRec(src)
14 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/OpenGL/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GlobGroupSrcs(RST sources PATHS
2 | ${CMAKE_CURRENT_SOURCE_DIR}
3 | "${PROJECT_SOURCE_DIR}/include/OpenGL"
4 | )
5 | add_definitions(-DUSE_QT_OPENGL_API)
6 | Ubpa_GetTargetName(Basic "${PROJECT_SOURCE_DIR}/src/Basic")
7 | Ubpa_AddTarget(MODE "LIB" SOURCES ${sources} LIBS ${Basic} Qt5::Widgets)
8 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/example/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(QtExample VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Widgets)
12 |
13 | Ubpa_AddSubDirsRec(src)
14 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/documents/hello/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(QtExample VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Widgets)
12 |
13 | Ubpa_AddSubDirsRec(src)
14 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Scene/AllComponents.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/src/app/0_displacement_normal/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(tool "${PROJECT_SOURCE_DIR}/src/tool")
2 | set(src
3 | ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
4 | ${PROJECT_SOURCE_DIR}/data/shaders/dn.vert
5 | ${PROJECT_SOURCE_DIR}/data/shaders/light_dn.frag)
6 | Ubpa_AddTarget(MODE "EXE" SOURCES ${src} LIBS "Ubpa::UGL_core;glfw;${tool}")
7 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/src/app/1_denoise/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(src
2 | ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
3 | ${PROJECT_SOURCE_DIR}/data/shaders/p3t2n3_denoise.vert
4 | ${PROJECT_SOURCE_DIR}/data/shaders/light.frag)
5 |
6 | Ubpa_GetTargetName(tool "${PROJECT_SOURCE_DIR}/src/tool")
7 | Ubpa_AddTarget(MODE "EXE" SOURCES ${src} LIBS "Ubpa::UGL_core;glfw;${tool}")
8 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/ann_example/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(ann_example VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_AddDep(UANN 0.2.0)
12 |
13 | Ubpa_AddSubDirsRec(src)
14 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Intersector/Intersector.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class SObj;
7 |
8 | class Sphere;
9 | class Plane;
10 | class Triangle;
11 | class TriMesh;
12 | class BVHAccel;
13 | class Disk;
14 | class Capsule;
15 |
16 | class Intersector { };
17 | }
18 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Basic/Sampler/UniformGridSampler2D.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | using namespace Ubpa;
6 |
7 | const valf2 UniformGridSampler2D::GetSample() const {
8 |
9 | float x = Math::Rand_F();
10 | float y = Math::Rand_F();
11 |
12 | return valf2(x, y);
13 | }
14 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/executables/5_map_Polynomial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(sharedPolynomialList "${PROJECT_SOURCE_DIR}/src/libraries/shared")
2 | Ubpa_GetTargetName(staticPolynomialMap "${PROJECT_SOURCE_DIR}/src/libraries/static")
3 | Ubpa_AddTarget(
4 | TEST
5 | MODE EXE
6 | LIB
7 | ${sharedPolynomialList}
8 | ${staticPolynomialMap}
9 | )
10 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/executables/5_map_Polynomial/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_GetTargetName(sharedPolynomialList "${PROJECT_SOURCE_DIR}/src/libraries/shared")
2 | Ubpa_GetTargetName(staticPolynomialMap "${PROJECT_SOURCE_DIR}/src/libraries/static")
3 | Ubpa_AddTarget(
4 | TEST
5 | MODE EXE
6 | LIB
7 | ${sharedPolynomialList}
8 | ${staticPolynomialMap}
9 | )
10 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/data/shaders/env.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 |
4 | out vec3 TexCoord;
5 |
6 | uniform mat4 view;
7 | uniform mat4 projection;
8 |
9 | void main()
10 | {
11 | TexCoord = aPos;
12 | mat4 viewNoT = mat4(mat3(view));
13 | vec4 pos = projection * viewNoT * vec4(aPos, 1.0);
14 | gl_Position = pos.xyww;
15 | }
16 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/data/textures/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_DownloadFile(
2 | https://cdn.jsdelivr.net/gh/Ubpa/USTC_CG_data@master/Homeworks/09_PathTracing/newport_loft.hdr
3 | # https://ubpa.github.io/USTC_CG_Data/Homeworks/09_PathTracing/newport_loft.hdr
4 | ${CMAKE_CURRENT_LIST_DIR}/newport_loft.hdr
5 | SHA256 F521688AB09B3E748341921D0C8C114D1256E6CA9E94C6E6783B9952B0042C44
6 | )
7 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array4/main.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include
3 |
4 | #include "Array.h"
5 |
6 | void main()
7 | {
8 | DArray pa;
9 |
10 | //pa.InitArray( );
11 |
12 | pa.SetArraySize( 3 );
13 | pa.SetValue( 0, 1.0 );
14 | pa.SetValue( 1, 2.0 );
15 | pa.SetValue( 2, 3.0 );
16 |
17 | pa.PrintArray( );
18 |
19 | //pa.FreeArray( );
20 | }
21 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/src/_deps/eigen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_DownloadZip(
2 | https://cdn.jsdelivr.net/gh/Ubpa/UData@master/common/eigen/eigen_3_3_7.zip
3 | eigen_3_3_7.zip
4 | SHA256 6D5CBC4C70A7B175439DEE0942C6794EB454493D3585973F7D4976D0820321E2
5 | )
6 |
7 | Ubpa_AddTarget(
8 | TEST
9 | MODE INTERFACE
10 | ADD_CURRENT_TO NONE
11 | INC
12 | "src/_deps/eigen"
13 | )
14 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Common/basic_P3T2.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | #include "camera.h"
4 |
5 | layout (location = 0) in vec3 aPos;
6 | layout (location = 1) in vec2 aTexCoords;
7 |
8 | uniform mat4 model;
9 |
10 | out vec2 TexCoords;
11 |
12 | void main(){
13 | TexCoords = aTexCoords;
14 |
15 | gl_Position = projection * view * model * vec4(aPos,1.0);
16 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Filter/FilterSinc.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | using namespace Ubpa;
6 |
7 | float FilterSinc::WindowSinc(float x, float radius) const {
8 | x = std::abs(x);
9 | if (x > radius)
10 | return 0;
11 | const auto lanczos = Math::Sinc(x / tau);
12 | return Math::Sinc(x) * lanczos;
13 | }
14 |
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/README.md:
--------------------------------------------------------------------------------
1 | # 作业项目
2 |
3 | ## 目录结构
4 |
5 | 本项目目录包含以下若干子目录:
6 |
7 | - [`src/`](src/):本次作业项目的源代码
8 |
9 | ## 其他说明
10 |
11 | - Qt:[简易说明](../../../Softwares/Qt.md)
12 | - CMake-GUI 在 configure 的时候,Optional platform for generator 要选 **x64**
13 | - CMake 一开始会拉取 [UCMake](https://github.com/Ubpa/UCMake),所以会稍微久一点,拉取的 UCMake 位于 `build/_deps/`,内含一些自定义函数 `Ubpa_xxx`
14 |
15 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Op/Op.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Op : public HeapObj {
7 | protected:
8 | Op(bool isHold = true) :isHold(isHold) { }
9 | virtual ~Op() = default;
10 |
11 | public:
12 | void operator()() { Run(); }
13 | virtual void Run() = 0;
14 |
15 | public:
16 | bool isHold;
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/src/Array4/Array.h:
--------------------------------------------------------------------------------
1 |
2 | class DArray
3 | {
4 | private:
5 | int n; // the size of the array
6 | double *pData; // the data of the array
7 |
8 | public:
9 | DArray();
10 | ~DArray();
11 | int InitArray( );
12 | int SetArraySize( int size );
13 | int FreeArray( );
14 | int SetValue( int k, double value );
15 | int PrintArray( );
16 | };
17 |
18 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/eigen_example/src/_deps/eigen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | Ubpa_DownloadZip(
2 | https://cdn.jsdelivr.net/gh/Ubpa/UData@master/common/eigen/eigen_3_3_7.zip
3 | eigen_3_3_7.zip
4 | SHA256 6D5CBC4C70A7B175439DEE0942C6794EB454493D3585973F7D4976D0820321E2
5 | )
6 |
7 | Ubpa_AddTarget(
8 | TEST
9 | MODE INTERFACE
10 | ADD_CURRENT_TO NONE
11 | INC
12 | "src/_deps/eigen"
13 | )
14 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/Sampler/CosHsSampler3D.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Sampler3D.h"
4 |
5 | namespace Ubpa {
6 | class CosHsSampler3D : public Sampler3D {
7 | public:
8 | virtual const valf3 GetSample();
9 |
10 | // Also returns the probability density at the sample point for use in importance sampling.
11 | virtual const valf3 GetSample(float& pd);
12 | };
13 | }
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | resources/
2 | build/
3 | lib/
4 | students/
5 | .vs/
6 | _deps/
7 |
8 | *Config.h
9 |
10 | *.obj
11 | *.uscene
12 |
13 | *.bmp
14 | *.png
15 | *.jpg
16 | *.gif
17 | *.mp4
18 | *.pdf
19 |
20 | *.html
21 |
22 | *.rar
23 | *.zip
24 |
25 | *.doc
26 | *.docx
27 | *.ppt
28 | *.pptx
29 |
30 | *.filters
31 | *.vcxproj
32 | *.log
33 | *.sln
34 | *.user
35 | *.dll
36 | *.lib
37 | *.exe
38 | *.ilk
39 | *.pdb
40 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Light/DirectionalLight.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | using namespace Ubpa;
4 |
5 | using namespace std;
6 |
7 | const rgbf DirectionalLight::Sample_L(const pointf3 & p, normalf & wi, float & distToLight, float & PD) const {
8 | cout << "WARNING::DirectionalLight:" << endl
9 | << "\t" << "not implemented" << endl;
10 | return 0.f;
11 | }
12 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(PoissonImageEditing VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Core Gui Widgets)
12 |
13 | find_package(OpenCV REQUIRED)
14 |
15 | Ubpa_AddSubDirsRec(src)
16 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Primitive.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Shape.h"
4 |
5 | namespace Ubpa {
6 | // renderable
7 | class Primitive : public Shape {
8 | protected:
9 | Primitive() = default;
10 | virtual ~Primitive() = default;
11 |
12 | public:
13 | virtual const Ptr GetPrimitive() override {
14 | return This();
15 | }
16 | };
17 | }
18 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/UI/Setting.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Setting : public Grid {
7 | public:
8 | using Grid::Grid;
9 |
10 | protected:
11 | virtual ~Setting() = default;
12 |
13 | public:
14 | static Ptr GetInstance() {
15 | static auto instance = Ubpa::New();
16 | return instance;
17 | }
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/data/shaders/p3t2.vs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | layout (location = 0) in vec3 aPos;
3 | layout (location = 1) in vec2 aTexCoord;
4 |
5 | out vec2 TexCoord;
6 |
7 | uniform mat4 model;
8 | uniform mat4 view;
9 | uniform mat4 projection;
10 |
11 | void main()
12 | {
13 | gl_Position = projection * view * model * vec4(aPos, 1.0f);
14 | TexCoord = vec2(aTexCoord.x, 1.0 - aTexCoord.y);
15 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/DeferredPipeline/postProcess.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 | out vec3 FragColor;
3 |
4 | in vec2 TexCoords;
5 |
6 | uniform sampler2D img;
7 |
8 | void main(){
9 | vec3 color = texture(img, TexCoords).xyz;
10 |
11 | // HDR tonemapping
12 | color = color / (vec3(1.0)+color);
13 |
14 | // gamma
15 | color = pow(color, vec3(1.0/2.2));
16 |
17 | FragColor = color;
18 | }
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/documents/1_BasicDArray/C2Cpp/README.md:
--------------------------------------------------------------------------------
1 | # C to C++
2 |
3 | 此为 [1_BasicDArray](../) 和 [3_TemplateDArray](../../3_TemplateDArray/) 中的相关项目
4 |
5 | 包含七个子项目
6 |
7 | - Array:固定长度数组
8 | - Array0:动态数组功能实现
9 | - Array 1.0:用 `struct` 打包 `p` 和 `n`,引用形式
10 | - Array 1.1:用 `struct` 打包 `p` 和 `n`,指针形式
11 | - Array 2:函数放到 `struct` 中
12 | - Array 3:改用 `class`
13 | - Array 4:头文件和实现文件
14 | - Array 5:模板 `template`
15 |
16 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/documents/opencv_example/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(OpenCV_Example VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Core Gui Widgets)
12 |
13 | find_package(OpenCV REQUIRED)
14 |
15 | Ubpa_AddSubDirsRec(src)
16 |
--------------------------------------------------------------------------------
/Homeworks/3_PoissonImageEditing/project/src/App/ChildWindow.cpp:
--------------------------------------------------------------------------------
1 | #include "ChildWindow.h"
2 | #include "ImageWidget.h"
3 |
4 |
5 | ChildWindow::ChildWindow(void)
6 | {
7 | imagewidget_ = new ImageWidget(this);
8 | setCentralWidget(imagewidget_);
9 | }
10 |
11 |
12 | ChildWindow::~ChildWindow(void)
13 | {
14 | }
15 |
16 | bool ChildWindow::LoadFile(QString filename)
17 | {
18 | imagewidget_->Open(filename);
19 | return true;
20 | }
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/ImgPixelSet.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | namespace Ubpa {
7 | class ImgPixelSet : public RandSet {
8 | public:
9 | ImgPixelSet();
10 | ImgPixelSet(size_t width, size_t height);
11 |
12 | using RandSet::RandPick;
13 | std::vector RandPick(size_t n);
14 | std::vector PickAll();
15 | };
16 | }
17 |
--------------------------------------------------------------------------------
/Homeworks/6_MassSpring/documents/tetgen/src/TetGene/main.cpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Tet_generate.h"
3 | #include "tetgen.h"
4 |
5 | #include
6 |
7 | using namespace std;
8 |
9 | int main()
10 | {
11 | tetgenio *a;
12 | tetgenio *c;
13 | CTet_generate b;
14 | a = b.poly_in("../data/cube.poly");
15 | c = b.tet_out(a);
16 | cout << c->numberofpoints << endl;
17 | b.tet_output(c, "../data/2.tet");
18 | return 0;
19 | }
--------------------------------------------------------------------------------
/Homeworks/1_MiniDraw/project/src/App/shape.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | class Shape
6 | {
7 | public:
8 | Shape();
9 | virtual ~Shape();
10 | virtual void Draw(QPainter& paint) = 0;
11 | void set_start(QPoint s);
12 | void set_end(QPoint e);
13 |
14 | public:
15 | enum Type
16 | {
17 | kDefault = 0,
18 | kLine = 1,
19 | kRect = 2,
20 | };
21 |
22 | protected:
23 | QPoint start;
24 | QPoint end;
25 | };
26 |
27 |
--------------------------------------------------------------------------------
/Homeworks/6_MassSpring/documents/tetgen/src/TetGene/Tet_generate.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "tetgen.h"
3 | #include "Vec.h"
4 |
5 | using trimesh::vec;
6 |
7 | class CTet_generate
8 | {
9 | public:
10 | CTet_generate(void);
11 | ~CTet_generate(void);
12 | tetgenio* poly_in(char* filename);
13 | tetgenio* tet_out(tetgenio* in);
14 | void tet_output(tetgenio *a, char* filename);
15 | //vec get_normal(tetgenio* tet, int index);
16 | };
17 |
18 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/project/src/libraries/shared/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(c_options "")
2 | if(MSVC)
3 | list(APPEND c_options "/wd4251")
4 | endif()
5 |
6 | Ubpa_AddTarget(
7 | TEST
8 | MODE SHARED
9 | INC
10 | "include"
11 | DEFINE
12 | Ubpa_AsShared_PolynomialList
13 | DEFINE_PRIVATE
14 | Ubpa_Export_PolynomialList
15 | C_OPTION
16 | ${c_options}
17 | SOURCE
18 | "${PROJECT_SOURCE_DIR}/include/PolynomialList.h"
19 | )
20 |
--------------------------------------------------------------------------------
/Homeworks/0_CppPratices/samples/src/libraries/shared/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(c_options "")
2 | if(MSVC)
3 | list(APPEND c_options "/wd4251")
4 | endif()
5 |
6 | Ubpa_AddTarget(
7 | TEST
8 | MODE SHARED
9 | INC
10 | "include"
11 | DEFINE
12 | Ubpa_AsShared_PolynomialList
13 | DEFINE_PRIVATE
14 | Ubpa_Export_PolynomialList
15 | C_OPTION
16 | ${c_options}
17 | SOURCE
18 | "${PROJECT_SOURCE_DIR}/include/PolynomialList.h"
19 | )
20 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Primitive/Shape.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | #include
6 |
7 | namespace Ubpa {
8 | class Primitive;
9 |
10 | class Shape : public HeapObj {
11 | protected:
12 | Shape() = default;
13 | virtual ~Shape() = default;
14 |
15 | public:
16 | virtual const bboxf3 GetBBox() const = 0;
17 | virtual const Ptr GetPrimitive() = 0;
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/project/src/UEditor/Editor.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ubpa {
6 | class Editor {
7 | public:
8 | Read scene;
9 |
10 | static Editor& Instance() noexcept {
11 | static Editor instance;
12 | return instance;
13 | }
14 |
15 | void SetCamera(SObj* cameraobj);
16 |
17 | static void OnRegister();
18 |
19 | private:
20 | Editor();
21 | ~Editor();
22 | };
23 | }
24 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/project/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
2 |
3 | project(ImageWarping VERSION 1.0)
4 | message(STATUS "[Project] ${PROJECT_NAME}")
5 |
6 | include(cmake/InitUCMake.cmake)
7 | Ubpa_InitUCMake()
8 |
9 | Ubpa_InitProject()
10 |
11 | Ubpa_QtInit(COMPONENTS Widgets)
12 |
13 | set(USE_ANN FALSE CACHE BOOL "use ANN")
14 | if(USE_ANN)
15 | Ubpa_AddDep(UANN 0.2.0)
16 | endif()
17 |
18 | Ubpa_AddSubDirsRec(src)
19 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/data/shaders/Engine/IBL/prefilter.fs:
--------------------------------------------------------------------------------
1 | #version 330 core
2 |
3 | #include "../../Math/sample.h"
4 | #include "../BRDF/FDG.h"
5 |
6 | out vec4 FragColor;
7 | in vec3 WorldPos;
8 |
9 | uniform samplerCube environmentMap;
10 | uniform float roughness;
11 | uniform float resolution;
12 |
13 | void main()
14 | {
15 | // TODO
16 | vec3 prefilteredColor = vec3(1,1,1);
17 |
18 | FragColor = vec4(prefilteredColor, 1.0);
19 | }
20 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/AllBSDFs.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Engine/Material/Material.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | namespace Ubpa {
12 | class Image;
13 |
14 | class Material : public HeapObj {
15 | protected:
16 | Material() = default;
17 | virtual ~Material() = default;
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/Homeworks/8_Shader/project/src/app/2_shadow/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(src
2 | ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
3 | ${PROJECT_SOURCE_DIR}/data/shaders/p3t2n3.vert
4 | ${PROJECT_SOURCE_DIR}/data/shaders/p3.vert
5 | ${PROJECT_SOURCE_DIR}/data/shaders/light_shadow.frag
6 | ${PROJECT_SOURCE_DIR}/data/shaders/empty.frag
7 | )
8 |
9 | Ubpa_GetTargetName(tool "${PROJECT_SOURCE_DIR}/src/tool")
10 | Ubpa_AddTarget(MODE "EXE" SOURCES ${src} LIBS "Ubpa::UGL_core;glfw;${tool}")
11 |
--------------------------------------------------------------------------------
/Homeworks/2_ImageWarping/documents/eigen_example/README.md:
--------------------------------------------------------------------------------
1 | # Eigen 示例
2 |
3 | ## 目录结构
4 |
5 | 本项目目录包含以下若干子目录:
6 |
7 | - [src/](src/):源代码
8 | - [include/](include/):头文件
9 | - [_deps/](include/_deps/):依赖
10 |
11 | ## 其他说明
12 |
13 | - Qt:[简易说明](../../../Softwares/Qt.md)
14 | - CMake-GUI 在 configure 的时候,Optional platform for generator 要选 **x64**
15 | - CMake 一开始会拉取 [UCMake](https://github.com/Ubpa/UCMake),所以会稍微久一点,拉取的 UCMake 位于 `build/_deps/`,内含一些自定义函数 `Ubpa_xxx`
16 |
17 |
--------------------------------------------------------------------------------
/Homeworks/9_PathTracing/README.md:
--------------------------------------------------------------------------------
1 | # 9. 路径追踪算法
2 |
3 | > Path Tracing
4 |
5 | ## 作业递交
6 |
7 | - 递交内容:程序代码及实验报告(可选:演示视频)
8 | - 递交时间:2020 年 5 月 2 日星期六
9 |
10 | ## 作业要求
11 |
12 | - 实现路径追踪算法
13 | - 环境光贴图重要性采样
14 | - 搭建场景(代码,json)并渲染
15 |
16 |
17 | ## 提供的材料
18 |
19 | 根据上述要求和方法根据两个文件夹`(1) documents`和`(2) project`的内容进行练习。
20 |
21 | ### (1) 说明文档 `documents` [->](documents/)
22 |
23 | 本次作业的要求说明和一些辅助资料
24 |
25 | ### (2) 作业项目 `project` [->](project/)
26 |
27 | 本次作业的基础代码框架
28 |
29 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Material/BSDF_Glass.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | using namespace Ubpa;
6 |
7 | using namespace Ubpa::Math;
8 |
9 | using namespace std;
10 |
11 | const rgbf BSDF_Glass::Sample_f(const normalf & wo, const pointf2 & texcoord, normalf & wi, float & PD) {
12 | cout << "WARNING::BSDF_Glass:" << endl
13 | << "\t" << "not implemented" << endl;
14 | return 0.f;
15 | }
16 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/src/Engine/Material/BSDF_Mirror.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | using namespace Ubpa;
6 |
7 | using namespace Ubpa::Math;
8 |
9 | using namespace std;
10 |
11 | const rgbf BSDF_Mirror::Sample_f(const normalf & wo, const pointf2 & texcoord, normalf & wi, float & PD) {
12 | cout << "WARNING::BSDF_Mirror:" << endl
13 | << "\t" << "not implemented" << endl;
14 | return 0.f;
15 | }
16 |
--------------------------------------------------------------------------------
/Homeworks/4_MinSurfMeshPara/project/include/Basic/ArgManager.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include