All Projects → fyr233 → Noneuclidgraphics

fyr233 / Noneuclidgraphics

非欧几何世界中的渲染引擎

Projects that are alternatives of or similar to Noneuclidgraphics

Fssgi
Exploratory Project on Fast Screen Space Global Illumination
Stars: ✭ 22 (-66.15%)
Mutual labels:  computer-graphics
Redner
Differentiable rendering without approximation.
Stars: ✭ 964 (+1383.08%)
Mutual labels:  computer-graphics
Meshcnn
Convolutional Neural Network for 3D meshes in PyTorch
Stars: ✭ 1,032 (+1487.69%)
Mutual labels:  computer-graphics
Geometric Textures
Stars: ✭ 27 (-58.46%)
Mutual labels:  computer-graphics
Computeshader Unity Macos
Stars: ✭ 31 (-52.31%)
Mutual labels:  computer-graphics
Spectral Brdf Explorer
⚡️💻 OpenGL application inspired by Walt Disney Animation Studios BRDF Viewer. A BRDF Viewer that support standard RGB and spectral data (tristimulus values) color calculation.
Stars: ✭ 36 (-44.62%)
Mutual labels:  computer-graphics
Contrastive Unpaired Translation
Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)
Stars: ✭ 822 (+1164.62%)
Mutual labels:  computer-graphics
Gloom
A minimalistic boilerplate for OpenGL with C++.
Stars: ✭ 54 (-16.92%)
Mutual labels:  computer-graphics
Position Based Fluids
Real-time Position-Based Fluids in OpenCL, homework in Stanford's CS348C
Stars: ✭ 31 (-52.31%)
Mutual labels:  computer-graphics
Pifu
This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"
Stars: ✭ 1,021 (+1470.77%)
Mutual labels:  computer-graphics
Scannet
Stars: ✭ 860 (+1223.08%)
Mutual labels:  computer-graphics
R1b
A thermal-printer-oriented, 1-bit graphics rasterizer for 2D and 3D
Stars: ✭ 29 (-55.38%)
Mutual labels:  computer-graphics
Blender Flip Fluids
FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
Stars: ✭ 983 (+1412.31%)
Mutual labels:  computer-graphics
Catpapers
Cool vision, learning, and graphics papers on Cats!
Stars: ✭ 918 (+1312.31%)
Mutual labels:  computer-graphics
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-24.62%)
Mutual labels:  computer-graphics
Anime4kcpp
A high performance anime upscaler
Stars: ✭ 887 (+1264.62%)
Mutual labels:  computer-graphics
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+13278.46%)
Mutual labels:  computer-graphics
Bfm to flame
Convert from Basel Face Model (BFM) to the FLAME head model
Stars: ✭ 55 (-15.38%)
Mutual labels:  computer-graphics
Graphics Snippets
Shading techniques and GLSL snippets
Stars: ✭ 53 (-18.46%)
Mutual labels:  computer-graphics
Fluid Engine Dev
Fluid simulation engine for computer graphics applications
Stars: ✭ 1,007 (+1449.23%)
Mutual labels:  computer-graphics

nonEuclidGraphics

非欧几何世界中的渲染引擎,有局部渲染和全局渲染两种模式。局部渲染使用OpenGL实现,全局渲染通过求解测地线方程实现。

我们会后续的维护和新的算法的探索。

编译

很抱歉我们还没有掌握 CMake,而是直接上传了 Visual Studio 的工程文件。大部分依赖文件都已经包括在了项目中。如果顺利的话,你需要下面几步:

  • 推荐 Visual Studio 2019. C++17. 一些语法可能无法在低版本下编译通过。我们上传了 .sln 项目解决方案文件,你可以直接打开它,
  • 配置 OpenCV,并将OpenCV的build目录(例如D:\Library\opencv\build)添加到系统变量中,名称为OpenCV_Dir,你可以在 Windows 的系统属性->系统环境变量->系统变量添加这个变量。
  • 本项目使用了GLFW库,请构建GLFW并将GLFW/bin添加到环境变量,直接将glfw3.dll放在可执行文件所在目录。
  • 我们使用OpenMP实现简易的并行加速。要在编译时开启它,需要在Visual Studio 2019的项目->属性->C/C++->语言中,将OpenMP支持设置为,将符合模式设置为

运行

请选择 Release 模式编译运行以保证性能。

(这个项目的GUI基于Dear-Imgui)

在界面中通过 Engine 框内的控件交互完成操作,主界面显示的是局部渲染的效果

  • Camera 栏,显示摄像机位置;设定 FarPlane 和 NearPlane。它决定了可见的范围。这对于非欧空间中的局部渲染很重要,因为空间的弯曲,局部渲染中远处的物体的呈现是不准确的。我们通过朦胧的效果使远处的物体逐渐消失,它由FarPlane决定。
  • Mesh 栏,没有用。我们早期拿它来调试。
  • GlobalRender 栏,全局渲染器的控制,使用全局渲染来查看准确的效果。Width 是图像的宽度(决定分辨率),step size是迭代的步长(改变它通常不会有明显的效果变化,但会影响计算的耗时)。Distance和Decay决了视野的大小,如果你希望视野范围更远,可以调大一旦这两个数值。点击 RayTracing 开始即可计算。命令行窗口中会显示进度——它通常需要数秒钟来渲染一张 1080p 的图片。
  • Roam ,选中以进入漫游。使用"w前 a做 s后 d右 q上 e下"来移动摄像机,移动鼠标来改变方向。进入漫游模式后,鼠标会被占用,按下m可以退出漫游。
  • EditMenu, 选中以打开物体编辑,查看所有的物体。可以进行移动、旋转、缩放、改变材质参数等操作。
  • WorldExample,项目中提供了若干预设的非欧空间,妮可
  • LoadMesh,加载网格文件到场景中(请小心!我们还没有在这里做异常处理,如果文件读取失败,程序会崩溃)。

项目源文件的构成

  • Shader

    • vertex.vert
    • fragment.frag
  • app

    • AutoCameraController
  • core

    • gl
    • vec
    • mat
    • tensor
    • func
    • transform
    • rgb
    • Mesh
    • Obj
    • Object
    • AreaLight
    • Texture2D
    • Material
  • nonEucideanEngine

    • RayTracer
    • Camera
    • Engine
    • Shader
    • World
    • WorldExample
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].