readleyj / gotracer Goto Github PK
View Code? Open in Web Editor NEWA ray tracer written in Go
A ray tracer written in Go
In the current implementation setting HasShadow to false makes the whole object disappear.
Right now, a world supports a single point light. Would be better to be able to place multiple lights in a scene
The current implementation of IsShadowed considers only the first light in the world's Lights field. Implementation has to be fixed so the multiple lights are taken into account
Named fields are not used for creating new objects. Easy to mess up the order.
Much of the matrix code is needlessly duplicated. A matrix struct would be more clean at the cost a possible reduction in performance (Because of switch from arrays to slices)
Also, color.go and tuple.go contain both method and function implementations. Sticking to either methods or functions would likely reduce clutter
The naming patterns of functions for creating new objects are inconsistent. Some objects are created with Create, some with New, and some with struct literals. A unified naming pattern for creating new objects would be cleaner
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.