About Pixie3D

What is Pixie3D?

Pixie3D is a 3D software package for modeling, texturing, animating and rendering 3D scenes. I have written the software from scratch over the last couple of years in my spare time. I use the software to demonstrate my skills for programming and mathematics in various areas. The software is written in native C++ and supports OpenGL by default. My aim is also to support DirectX in the future. I have implemented a lot of modeling features for polygonal modeling. Basic tools such as move, rotate and scale tools as well as more advanced modeling tools like extrude tool, cut tool and modifiers. The majority of the modifiers are geometric modifiers. They vary from simple ones like bend, twist and skew to advanced ones like ocean simulations, skin simulations and cloth simulations, however not all modifiers are geometric. A special modifier has been designed to work with the built-in UV editor. That allows multiple texture coordinate editions for the same geometry. The software also offer a standard particle system as well as meta-balls and a 3D text implementation that support true type fonts. A layer based material editor allows blending between shaders and advanced surface properties like translucency, reflections and refractions. The built-in ray tracer supports ambient occlusion, color-bleeding and different types of light sources. Renderings can be stored in popular video formats or image formats. The viewport supports real-time hardware accellerated shaders in order to achieve a more accurate representation of materials and shadows. Recently an implementation to support hardware accelerated anti-aliasing has been added. A key frame system has been implemented to allow the user to animate 3D objects. Please have a look at list below for a list of major features.

Currently, there has not been announced a release date yet!

Features

To watch the following features in action please click here


General Main Tools Move, rotate, scale and selection of multiple 3D objects
Parameter controlled objects Generates 3D objects like plane, box, spheres etc.
3D text generator Generates true font types to 3D objects
Metaballs Generates metaballs on the fly
Editable mesh convertion Converting any 3D object into editable mesh
Object hierarchy structure Parent/Child linking behaviours
Multiple transformation modes Navigating 3D objects in global space or local space
Unwrap Texture Editor Move/Rotate/Scale and Welding texture coordinates
Material Editor Layers with blending modes, Reflection, Refraction, Translucency etc.
Multiple blendable diffuse shadings Lambert, Oren-Nayar, Rim, Strauss, Plastic
Multiple specular reflection models Blinn, Phong, Cook-Torrance, Anisotropic, Sheen
Multiple/Sub Materials Polygon/triangle based sub-material division
Selection Tools Vertices, Edges, Triangles, Polygons, Elements, Objects
Polygon modelling tools Attach/Detach Elements, Extrude, Cut
Vertex modelling tools Soft selection, Welding, Delete, Create
Polygon based modifiers Bend, Twist, Noise, Skinning, Ripples, Ocean, Cloth
Path with modifiers Editable bezier curves with modifiers such as Lathe and Extrude
Keyframe animation Moving, Rotating, Scaling 3D objects
Cameras and multiple viewports Multiple drawing modes like solid/wireframe
Light sources Creation of multiple light sources
Plug-ins Loading of image formats, Loading of 3D objects, Simulation (Physics)
CPU Renderer CPU based ray tracer with ambient occlusion, shadows, reflections etc.
GPU Renderer GPU based path tracer written in GLSL
Image support BMP, JPG, PNG, GIF, TIFF, TGA
Video support AVI - Whatever codecs you have installed!
Graphical User Interfaces Customizable interfaces with icons and simple layout
Built-in GUI File dialogs Open/Save file dialogs with support of local network
Built-in File Format File format with support of thumbnail preview of stored scene

About the developer

Pixie3D is a personal project of mine and has been written by me only.
I live in Bournemouth which is on the south coast of England.
Besides work I am particularly fond of music, comedy and movies.
I also enjoy socialising and hanging out with friends like everyone else.
I was born in Santiago de Chile but I was raised up in Denmark.

Søren Klit Lambæk



Work Experience

2014 Vanguard Games
I work currently for a (AAA) games studio based in Amsterdam as an engine programmer.
The team I am working in develops the core parts of the in-house games engine.
We maintain existing code and develop new features and tools requested my the games team.
Recently the company has been working on the popular Halo franchies from Microsoft.



2011 Drilling Systems
I worked as a graphics programmer at a world leading simulation company based in Bournemouth.
The company develops 3D training simulations for the oil industry.
Highlights of my achievements for this role have been:

Dynamic see through oil rig downhole viewer (tech demo)
3D Particles
Dynamic cables/ropes/hoses (physics)
3D ocean/water effects
Downhole fluid system
Animation systems for thousands of animals moving over terrain
CCTV network video streaming component
Creating a utility to transfer files over a local network
Implementing a tech engine supporting shaders and cascaded shadowmaps

I got to travel around in the world to visit clients.
I have visited clients in Dubai, Houston and Denmark.
I was asked to sit in on interviews when we needed new graphics programmers.



2009 Games Media
The company got merged after I left and is now called Scientific Games.
They are specialized in gambling games for pubs.
At the time I was there I was working on several of projects:

Writing a dynamic array system for holding strings of letters.
Writing an entire game from scratch called "Spot it"
Implementing a 3D board game called: "Trivial Persuit"
Simulating bouncing 3D pigs for a game called "Pass the Pigs"
Optimizing in-house 3D framework



2009 Universally Speaking
I was working as a QA for a company based in St. Neots.
At the time I was there we were involved in a lot of exciting PlayStation 3 titles.
I worked primarily on:

Little Big Planet
Uncharted 2



2008 3rd Dimension Creation
In my final university year I worked for a small games company.
We created a 3D game called CodaChain.
CodaChain was developed using BlitzTech (the cross-platform Game Engine &
Tool Chain developed by Blitz Games Studios) for XBox 360 and PlayStation 3.
My job was to implement:

All artificial intelligence mechanics of the game.




Computer Skills

C/C++ (Object Orientated Programming for C)
Delphi (Object Orientated Programming for Pascal)
OpenGL/GLSL (Open Graphics Library)
OpenMP (Open Multi-Platform - shared memory parallel programming)
OpenAL (Open Audio Library)
WebGL/JavaScript (Web Based Graphics Library)
Win32 (Windows), WinMM (MultiMedia), WinSockets (Network)
Visual Stuio 2003, 2005, 2008, 2010, 2012
DirectX
HTML/PHP/CSS
SVN, TeamViewer, nVidia Driver Configurations.

General Skills

Fluent English and Danish, partly German
Holding european driving license
Playing the guitar
Drawing


Comments (0)

Please have your say by adding a comment, suggestion or
any idea that you would might have for this project!


Code: