minirt's Introduction
minirt's People
minirt's Issues
円錐が正しく表示されない
課題要件
-
Mandatory Part:
- Generate images using Raytracing protocol.
- Handle geometric objects like planes, spheres, and cylinders.
- Implement basic light management with spot brightness and ambient lighting.
- Display images in a window with specific user interaction rules (e.g., pressing ESC to quit).
- Read scene descriptions from .rt files.
-
Bonus Part:
- Advanced features like specular reflection, color disruption (checkerboard), multi-spot lights, additional geometric objects (e.g., cone, hyperboloid), and bump map textures.
円柱の中心を端面の中心にする
今は立体の中心になってるが, 微妙なので直したい.
チェッカー柄
オブジェクトに2つ目の色を指定して, チェッカー柄にできる.
Lines 101 to 110 in 2e90178
方向ベクトルを単位ベクトル以外でも指定できるようにする
例えばカメラの方向ベクトルは以下の指定があるが, 成分の絶対値が1以下であれば単位ベクトルでなくても良さそう. そのほうが便利.
3d normalized orientation vector. In range [-1,1] for each x,y,z axis.
ファイル名のチェック
多分レビュー項目にある. .rt
以外はエラーにする.
Bump Mapping
bump mappingありで実行するとメモリリークする
miniRT/src/scene/parse_line_object.c
Lines 74 to 76 in 519606c
アンチエイリアス
カメラがオブジェクトの中にある場合の処理
確認した不具合
- 円柱の端面が描画されない
- 内部なのに光や影ができる
円錐の実装
計算が結構大変そう.
center
は底面の中心, axis
の向きはどっちでもいいです (t_hit_record
の法線は外向きにしてください).
Lines 75 to 82 in 2e90178
norminette 3.3.51 が通るようにする
actionsで使ってるバージョンも3.3.51にする.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.