Global illumination(13th July 2013) |
|||||
|
I implemented a simple global illumination algorithm, which constructs and solves the sparse matrix which describes how much tiles reflect light to each other. It supported only gray-scale rendering and wouldn't scale up to bigger scenes, but it was nevertheless an interesting project and I learnt a lot about 3D geometry, linear algebra and computer graphics. Graphics was drawn by a software renderer which uses only standard SDL primitive draw calls.
|
|
||||
CUDA realtime rendering engine(9th July 2013) |
|||||
|
So far I've written a basic rendering engine which uses Nvidia's CUDA (Compute Unified Device Architecture) which can render reflective surfaces with environmental mapping and anti-aliasing and motion blur at 200 fps with minimal usage of 3rd party libraries such as OpenGL. This let me fully implement the cross-platform rendering pipeline from data transfer to pixel-level RGB calculations, all in C-like syntax.
|
|
||||
Visualizing laser scanned geography(7th July 2013) |
|||||
|
During the summer of 2012 when I was mainly working on my Master's Thesis, I also had a look at National Land Survey of Finland's open data download service. There I downloaded a point cloud dataset which had typically 4 - 5 measured points / square meter. This means that to visualize a region of 2.5 × 2 km, I had to work with a point cloud consisting of 5 × 2500 × 2000 → 25 million points. I chose to concentrate on my campus area, because I know it well and it has many interesting landmarks. For example the iconic main building can be seen in Figure 1.
|
|
||||
Home
|
| Home | (Home page) |
| About | (About me) |
| Platform | (About this blog) |
| (Niko Nyrhilä) | |
| GitHub | (nikonyrh) |
| Stackoverflow | (nikonyrh) |
| Bruteforcing Countdown numbe... | (2023 Apr) |
| Cheating at Bananagrams with... | (2023 Apr) |
| Introduction to Stable Diffu... | (2022 Nov) |
| Matching puzzle pieces together | (2022 Jul) |
| Single channel speech / musi... | (2022 Feb) |
| Computer Vision | (13) |
| GitHub | (12) |
| Databases | (9) |
| Elasticsearch | (6) |
| FFT | (5) |
| Rendering | (5) |
| Applied mathematics | (4) |
| Python | (13) |
| C++ | (11) |
| Matlab | (10) |
| Keras | (6) |
| Clojure | (6) |
| Bash | (6) |
| PHP | (6) |
| Matl | Pyth | C++ | Cloj | Bash | Kera | |
| Comput | 6 | 6 | 3 | 1 | 0 | 5 |
| GitHub | 0 | 2 | 1 | 4 | 3 | 0 |
| Databa | 0 | 3 | 2 | 2 | 1 | 0 |
| Render | 3 | 0 | 3 | 0 | 0 | 0 |
| Nginx | 0 | 1 | 0 | 0 | 4 | 0 |
| Autoen | 0 | 3 | 0 | 1 | 0 | 2 |
| Elasti | 0 | 2 | 0 | 3 | 0 | 0 |
| FFT | 3 | 1 | 1 | 0 | 0 | 1 |
| Data S | 2 | 1 | 2 | 1 | 0 | 1 |
| JVM | 0 | 1 | 0 | 3 | 1 | 0 |
| Docker | 0 | 1 | 0 | 0 | 3 | 0 |
| FastCG | 0 | 0 | 3 | 0 | 0 | 0 |
| Applie | 2 | 2 | 0 | 0 | 0 | 0 |
| Field | 2 | 0 | 2 | 0 | 0 | 0 |
| Omnidi | 2 | 0 | 2 | 0 | 0 | 0 |
| Affine | 2 | 0 | 2 | 0 | 0 | 0 |
| Master | 1 | 0 | 2 | 0 | 0 | 0 |
| Archit | 0 | 1 | 0 | 0 | 2 | 0 |
| Visual | 1 | 0 | 2 | 0 | 0 | 0 |
| Spark | 0 | 1 | 0 | 0 | 2 | 0 |
| Blog | 0 | 0 | 0 | 2 | 0 | 0 |
| Hyphen | 0 | 0 | 0 | 2 | 0 | 0 |
| Stack | 0 | 1 | 1 | 0 | 0 | 0 |
| SQL | 0 | 0 | 1 | 1 | 0 | 0 |
| Busine | 0 | 1 | 0 | 1 | 0 | 0 |
| Signal | 0 | 1 | 0 | 0 | 0 | 1 |
| Encryp | 0 | 0 | 0 | 0 | 1 | 0 |
| Git | 0 | 0 | 0 | 1 | 0 | 0 |
| Stable | 0 | 1 | 0 | 0 | 0 | 0 |
| Redis | 0 | 1 | 0 | 0 | 0 | 0 |
| Thrust | 0 | 0 | 1 | 0 | 0 | 0 |
| Kibana | 0 | 0 | 0 | 1 | 0 | 0 |
| Astron | 1 | 0 | 0 | 0 | 0 | 0 |
| Mustac | 0 | 0 | 1 | 0 | 0 | 0 |
| NAT | 0 | 0 | 0 | 0 | 1 | 0 |
| jQuery | 0 | 0 | 1 | 0 | 0 | 0 |
| SSH | 0 | 0 | 0 | 0 | 1 | 0 |
| Happyh | 0 | 0 | 1 | 0 | 0 | 0 |
| Backup | 0 | 0 | 0 | 0 | 1 | 0 |
| Pthrea | 0 | 0 | 1 | 0 | 0 | 0 |
| AWS | 0 | 0 | 0 | 0 | 1 | 0 |
| SIFT | 0 | 0 | 1 | 0 | 0 | 0 |
| SURF | 0 | 0 | 1 | 0 | 0 | 0 |
| Conjug | 0 | 0 | 1 | 0 | 0 | 0 |
| Kalman | 0 | 0 | 1 | 0 | 0 | 0 |
| Partic | 0 | 0 | 1 | 0 | 0 | 0 |
| Gradie | 0 | 0 | 1 | 0 | 0 | 0 |
| Simult | 0 | 0 | 1 | 0 | 0 | 0 |
| Roboti | 0 | 0 | 1 | 0 | 0 | 0 |
| Princi | 1 | 0 | 0 | 0 | 0 | 0 |
| Receiv | 1 | 0 | 0 | 0 | 0 | 0 |
| Linear | 1 | 0 | 0 | 0 | 0 | 0 |
| Suppor | 1 | 0 | 0 | 0 | 0 | 0 |
| Machin | 1 | 0 | 0 | 0 | 0 | 0 |
| Discre | 1 | 0 | 0 | 0 | 0 | 0 |