Resume
Dihara Wijetunga - Graphics Programmer
Summary
Graphics Programmer 5+ years of work experience with a keen interest in high-end rendering techniques and real-time ray-tracing for video games, low-level optimization and game engine programming.
Technical Skills
- C/C++, Rust, Vulkan, DirectX 12, OpenGL,
- Rendering Techniques and Architecture, Real-time Ray-Tracing and Denoising, Physically Based Rendering, Global Illumination,
- Shader and Rendering Optimization, Profiling and Debugging Tools,
- Unity, Unreal Engine 4, Lumberyard/O3DE
Work Experience
Developer Technology Engineer 2, July 2019 - Present
Imagination Technologies, United Kingdom
- Worked with many game development studios on optimizing their titles for the best performance on devices with PowerVR GPUs.
- Worked with engine developers to add PowerVR and mobile-specific rendering optimizations.
- Created multiple mobile ray-tracing demos.
- Maintained the PowerVR Graphics SDK.
- Gave technical talks at industry events and meetups.
- Gave training to developers on PowerVR Graphics Architecture and Tools.
Graphics Software Engineer, January 2018 - June 2019
LiveRoom, Sri Lanka
- Designed, developed and optimized rendering features across various different projects from various countries.
- Projects include a GPU particle engine with compute shaders, OpenGL ES based rendering engine for vehicle dashboards, GPGPU collision detection engine, an internal cross-platform renderer with * OpenGL ES 2.0 and Metal backends, AR/VR projects with Unity/Unreal.
- Created tools to be used in the internal art asset pipeline.
- Mentored team members on graphics programming.
iOS Software Engineer, May 2016 - January 2018
Fidenz Technologies, Sri Lanka
- Developed, shipped and maintained many iOS applications in Objective-C and Swift.
- Worked with large teams to deliver products incrementally.
- Minor native Android development in Java.
Projects
- A real-time unidirectional GPU path tracer using the cross-vendor Vulkan ray-tracing extensions.
- Full editor with runtime scene creation and editing capabilities.
- Custom ray debug view for visualizing ray paths.
- A rasterization + ray-tracing hybrid renderer demo.
- Demonstrates an integration of Ray Traced Shadows, Ambient Occlusion, Reflections and Global Illumination into a Deferred Rendering Pipeline.
- SVGF based denoising with tile based compute optimizations.
- Real-time C++ Software Rasterizer project created for understanding the graphics pipeline.
- Features triangle rasterization, perspective correct interpolation, texture mapping, bilinear interpolation, model loading and OpenMP multithreading.
- An offline library for converting Images, 3D Models into a custom binary format and a separate runtime library for loading said assets.
- Separate command line tools for image and 3D model import/export, Cubemap to Spherical Harmonics projection, BRDF LUT generation.
- DXT texture compression, mipmap generation, irradiance map generation and Cubemap prefiltering.
- A selection of various graphics technique demos intended for educational purposes available at my Github.
- Demos such as FFT Ocean Water, GPU Particle Simulation, Deferred Decals, PCSS, Reflective Shadow Maps and Lightmaps.
Education
BSc IT Hons. Specializing in Software Engineering, January 2014 - November 2017
Sri Lanka Institute of Information Technology, Sri Lanka