Kuba Cupisz


software projects

Master Thesis

Real-Time Rendering and Interactive Configuration of Apartments
Master Thesis Video

My master thesis on Real-Time Rendering and Interactive Configuration of Apartments, on which I worked together with Robert.

From the Abstract:

We present a method for high quality, real-time rendering of apartment interiors, illuminated with dynamic light and under the conditions of changing geometry. The complete lighting solution is composed of a number of techniques (area lights, indirect illumination, direct highlight) working in conjunction with a global illumination algorithm based on virtual point lights. Rendering of hundreds of lights at real-time frame rates is enabled by a deferred lighting pipeline, decoupling scene and lighting complexity.

We demonstrate, that the described solution allows the user to interactively modify geometry (customisation of the apartment's layout) and lights (e.g. time of day modification). We also suggest an acceptable degradation method enabling the same lighting quality on slower machines.

The prototype has been developed in the Unity engine and you're welcome to try it out (it has quite high hardware requirements, though).

The thesis itself has been written in a form of a short article – a recommended read if you're interested how the technique works.

(Note: the prototype has been developed in an yet unreleased Unity version 2.6. This is why we're not posting the project files yet, nor the web player build, which is actually our target platform.)

Our geometry-aware, kernel size preserving filter.
Our 3-tap PCF shadow mapping with spatially varying offsets (and filtering, which was already part of our pipeline).

Jakub Cupisz, Robert Cupisz


DADIU graduation game, March 2009 production
PuzzleBloom - game screenshot

Puzzle Bloom is an innovative action-puzzle game where you control the tree spirit Canotila in her quest to bring back life to her island.

Canotila needs assistance of the island’s native creatures to get through the industrialised world. She flies from creature to creature and uses her powers to guide them. New life will bloom into the world for each time Canotila breaks a machine, bringing her closer to the ultimate goal of return to nature.

No download needed: Solve puzzles in a full 3D environment that runs directly in your browser. Bend the static rules of traditional puzzle games by switching control over creatures. Enjoy the beautiful graphics of Canotila’s rise of nature.

Have fun and let us know if you like the game!

Fertile ground effect, Prince of Persia - like. Yeah!
A bit more complex puzzle, Level 2.
Moving laser and robot arena, just exploded the poor bastard...

Kuba Cupisz (Programmer) as part of Team 4, DADIU March 2009 (full credits on the game page)


DADIU game production using Flash Lite
Play - screenshot

Play is an exploratory erotic game, involving the interaction between a man and a woman.

Enjoy the art of sex by being in control. Feel your way around the man. Choose to perform moves on him and have him perform exotic moves on you. Inspire him. Tease him. Make him want more of you to get the most out of the session. Be in sync with one another by finding the right rhythm to complement each other.

Perform the preferred motions during the intimate scenes by manoeuvring the phone around. Go to fast or too slow and you will be considered a poor performer. Reach pleasure successfully by finding the best pace in accordance with the music.

The game was developed in Flash Lite, uses phone's accelerometer and squeezes as much as it can into teeny-tiny amount of memory available to Flash player.


Kuba Cupisz (Lead Programmer) as part of Team 6, DADIU, March 2008

Tron Lightcycle Race

game prototyping in Squeak
Tron Lightcycle Race - game prototype screenshot

In this project we used Squeak as a fast game prototyping platform to create yet another clone of the all-famous Tron Lightcycle Race. Squeak is a modern implementation of the Smalltalk language and environment and, besides some performance issues, which are inherent in those types of platforms, we've found Squeak a really useful tool.

  • Tron_Squeak_win.zip – Squeak distribution opening with the game image ready to play, complete with source.
  • Tron_Squeak_mac.zip – Same image, but with Squeak distribution for Mac OS X.
  • Project report – Project report describing design and implementation of the prototype.

Kuba Cupisz, Robert Cupisz


DADIU game production using the Source engine
Feeder - game screenshot

Feeder is a game developed by the Team 3, as part of the DADIU education. I was the team's Programmer.

“Feederism is a sexual fetish, centered on the practice of eating large amounts of food. The feeder provides the gainer with an abundant supply of food, either to encourage weight gain or simply for delight in the act of feeding.” - Wikipedia

The game was developed in Valve's Source Engine, so long...

A muffin? No, thank you.
Food, food, food.
Second fatness stage. Isn't she cute?

Kuba Cupisz (Programmer) as part of Team 3, DADIU, March 2007

Distributed Ray Tracer

final project for Advanced Computer Graphics course
Distributed Ray Tracer - screenshot
Depth of field, caustics, translucency, gloss.

This is an example of an application of the Monte Carlo integration to solve rendering equation. We have implemented following effects: depth of field, gloss, translucency, soft shadows.

Translucency and gloss.
Soft shadows.
  • Project report – report describing techniques used and implementation details, a few screenshots.

Kuba Cupisz

Computer Aided Design

final project for the CAD / CAM course
Distributed Ray Tracer - screenshot
Seals close up.

The project consisted of two parts:

modelling of a chosen complex real-life object in Unigraphics NX. I have made a bicycle front suspension fork, Marzocchi Z5 2001.

automating Unigraphics NX from a .NET plugin to cut out the previously designed model from a brick of material.

Marzocchi Z5 2001. Still in use in 2009.
Disc brake mount close up.
An example showing the usage of swept, ruled and fillet NX tools.
  • Presentation – describes how to use swept, ruled and fillet tools in NX. [in polish]

Kuba Cupisz

curriculum vitae

View my résumé as:

Contact me at:

  • +45 501 97 552
  • +48 502 979 797


These are some other things you might want to check out:


Kuba Cupisz Valid markup: [xhtml] [css] alias1

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License