All Projects → Trinkle23897 → Computational Graphics Thu 2018

Trinkle23897 / Computational Graphics Thu 2018

Licence: mit
Computational Graphics - THU Spring 2018

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Computational Graphics Thu 2018

Pytorch Cyclegan
A clean and readable Pytorch implementation of CycleGAN
Stars: ✭ 558 (+436.54%)
Mutual labels:  computer-graphics, image-processing
Distort Grid
distort and warp images in the browser
Stars: ✭ 101 (-2.88%)
Mutual labels:  graphics, image-processing
Server
CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
Stars: ✭ 572 (+450%)
Mutual labels:  graphics, graphics-engine
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+327.88%)
Mutual labels:  graphics, graphics-engine
Graphics Algorithm
3D图形学算法Code。包括软渲染、光线追踪、PBR等等~
Stars: ✭ 67 (-35.58%)
Mutual labels:  graphics, computer-graphics
Rust Sloth
A 3D software rasterizer... for the terminal!
Stars: ✭ 478 (+359.62%)
Mutual labels:  graphics, computer-graphics
Chafa
📺🗿 Terminal graphics for the 21st century.
Stars: ✭ 774 (+644.23%)
Mutual labels:  graphics, image-processing
Manim Tutorial
A tutorial for manim, a mathematical animation engine made by 3b1b
Stars: ✭ 373 (+258.65%)
Mutual labels:  graphics, graphics-engine
Retouch
🎬 An OpenGL application for editing and retouching images using depth-maps in 2.5D
Stars: ✭ 63 (-39.42%)
Mutual labels:  graphics, image-processing
St Cgan
Dataset and Code for our CVPR'18 paper ST-CGAN: "Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow Removal"
Stars: ✭ 13 (-87.5%)
Mutual labels:  computer-graphics, image-processing
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (+284.62%)
Mutual labels:  graphics, graphics-engine
Shoebot
Easy vector graphics with Python
Stars: ✭ 88 (-15.38%)
Mutual labels:  graphics, computer-graphics
Beam
✨ Expressive WebGL
Stars: ✭ 383 (+268.27%)
Mutual labels:  graphics, image-processing
Imagesharp
📷 A modern, cross-platform, 2D Graphics library for .NET
Stars: ✭ 5,186 (+4886.54%)
Mutual labels:  graphics, image-processing
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+3718.27%)
Mutual labels:  graphics, computer-graphics
Ascii art
Real-Time ASCII Art Rendering Library
Stars: ✭ 599 (+475.96%)
Mutual labels:  graphics, image-processing
Overload
3D Game engine with editor
Stars: ✭ 335 (+222.12%)
Mutual labels:  graphics, graphics-engine
Rendu
A simple realtime graphics playground for experimentations.
Stars: ✭ 343 (+229.81%)
Mutual labels:  computer-graphics, graphics-engine
Opengraphic
Graphic Engine & Game Engine lists
Stars: ✭ 772 (+642.31%)
Mutual labels:  graphics, computer-graphics
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (-25%)
Mutual labels:  graphics, graphics-engine

Computational Graphics - THU Spring 2018

HW1(10')

实现一个感兴趣的光栅图形学算法

基本选题 加分项
画线(6') SSAA(2'), Kernel(2'), 区域采样(2'), 相交线反走样的case(4')
画弧(8') 同上
区域填充(10') 边界反走样(2')

Result

图太丑了而且这个作业也很trivial就不放图了

HW2(60')

参数曲线/曲面的三维造形与渲染

  • 利用参数曲线/曲面凹一个造型
  • 渲染
    • 基本:光线与参数曲线/曲面的求交
    • 其他:光子映射,加速,纹理景深,体积光等等

Scoring

占总评60分,按以下算法得出分值后,和全班一起归一化到70~100作为单项成绩。(负分倒扣, BUG倒扣)

基本功能完整性[-20, 0]: 光线跟踪基本结果,反射折射阴影
实现网格化求交: [-5]	
实现参数曲面求交: [0, 10]: 解方程请写出求解过程,其他请写出迭代过程
算法选型[0, 40]: 需要实现对应效果才为有效
参考基准: PT: 15, DRT: 25, PM: 30, PPM: 30.
DRT请在报告中注明使用的函数
加速[0, 10]: 算法型加速为有效
OpenMP: 2, GPU: 5
景深/软阴影/锯齿/贴图等[0,5]
主观分[-10, 10]: 设计和构图
其他额外效果: 凹凸贴图、体积光等: [5, ?]

代码基于smallpt,添加了纹理映射、旋转Bezier求交、景深的效果,详情可查阅 hw2/report.pdf

Compile & Run

cd sppm
g++ main.cpp -oa -O3 -fopenmp

由于sppm代码里面还有bug,就先没调用……实际上里面是pt的接口,当然可以直接把main函数的baseline改成sppm,不过相应的参数也要跟着改了。

./a 640 480 try.ppm 10
./a 3840 2160 test.ppm 100000

Result

upd 191005: branch balls has another scenario. Here's the result: (others are ball_*.png in the releases page)

PS:别只抄我构图,这里有一堆:https://graphics.cs.utah.edu/trc

HW3(30')

图像大作业

  1. 基于优化的图像彩色化 Colorization Using Optimization, SIGGRAPH 2004.
  2. 内容敏感的图像缩放 Seam Carving for Content-Aware Image Resizing, SIGGRAPH 2007.
  3. 无缝图像拼接 Coordinates for Instant Image Cloning, SIGGRAPH 2009.

此处选了第三个选题,实现了MVC和Poisson Image Editing两种算法

Result

hw3/MVC/pic/2_6.png

Other Result

MashPlant

Please refer to https://github.com/MashPlant/computational_graphics_2019 for more details.

LICENSE

本项目基于Graphics A+ LICENSE,属于MIT LICENSE的一个延伸。

使用或者参考本仓库代码的时候,在遵循MIT LICENSE的同时,需要同时遵循以下两条规则:

  1. 如果您有效果图,则必须将效果图的链接加入到这个README中,可以以PR或者ISSUE的方式让本仓库拥有者获悉;

  2. 如果您在《计算机图形学基础》或者《高等计算机图形学》中拿到了A+的成绩,则必须请本仓库拥有者吃饭。

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].