jdahlstrom / retrofire Goto Github PK
View Code? Open in Web Editor NEWGraphics from the golden age
License: Apache License 2.0
Graphics from the golden age
License: Apache License 2.0
Including perspective correction.
Including classics like RGB565 and 256-color paletted format. Possibly implement dithering.
Generate axis-aligned bounding boxes for meshes and clip test them to early discard entire meshes in hidden face removal.
Allow per-vertex transform and eg. lighting calculations.
Especially between uN
and usize
. Consider creating traits for explicit named conversions.
This depends mostly on math functions โ use libm or micromath or either?
Depends on #97
Vector/matrix math should be written in a form that facilitates compiler autovectorization.
This requires a Varying
that steps using Bresenham-like math that tracks cumulative error.
Normalized texture coordinates could be "denormalized" to integer coordinates and then Bresenham interpolated.
Related to #63.
Currently they do similar things but don't share code.
Integers cannot be interpolated with the current Varying
because they cannot have a well-behaving Linear
impl. Make Varying
a trait and impl it for integers based on the current Bresenham
code.
If all the faces a vertex belongs to are culled, that vertex does not need w divide or viewport transform. Should think about if it's worth it to try to discard/skip those vertices.
Color
implements Linear
but this cannot reasonably work because integers are not linear. Remove the impl once #63 is done.
For example, automatically updating transforms based on clock. Should support play/pause and possibly fast forward/slow-motion etc? Also a sequencer for displaying different scenes/cameras based on clock.
Only divide every n pixels, interpolate linearly inbetween.
Currently HSR culls vertices outside the unit cube, but perspective projection maps z coordinates to [0, 1] rather than [-1, 1]. This causes vertices behind the image plane to not be culled.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.