Google Plus Google Plus shopify shopify youtube youtube facebook facebook twitter twitter mastodon mastodon


HighOmega Logo Check out our Twitter... NOW!
December 5th, 2017

If you haven't visited our Twitter page recently,
I really suggest you do :D

Also we're on Aras P.'s mastodon!.
Check us out there if you're tired of Twitter!

Bear in mind, this is only the beginning! :)

-- Baktash

Utah Teapot Julian Spillane talking for Toronto ACM SIGGRAPH!
March 30th, 2017


You will walk away from this a wiser person.
Seriously, hurry up as space is limited.

See you there!
-- Baktash

TooMuchVoltage Logo Our 'move' video to 250 University Avenue!
October 19th, 2016

This neat little timelapse piece had been in the making for a while...
... aaand finally it's here! Hope you folks enjoy!

-- Baktash

Utah Teapot Exclusive Autodesk Maya Tech-Talk coming up!
October 14th, 2016

Hey folks! If you're reading this go here and sign up now!

Duncan Brinsmead, the man who counts Maya Bifrost fluids, the Nucleus Physics Solver
(along with Jos Stam), Maya Paint Effects among many other things as his contributions
to Autodesk Maya is talking about what's next for Maya Bifrost. I don't tend to brag about
talks but this is more or less exclusive behind the scenes stuff going public.

Please bear in mind, this is meant to be for folks who actually use Maya
and would love practical first-hand tips. If you're one of them hurry
and sign up now as the clock is ticking (talk is on Thursday the 20th.)

See you there,
-- Baktash

TooMuchVoltage Logo Hey everyone! WE'VE MOVED!
September 16th, 2016

Yup, we've moved into a shiny new address!
Click here to find out where!
We also found plenty of neat stuff while doing so...
like old ideation/concept art stuff! Click
here to see them!
Hopefully these'll keep you busy for a while cause it's
gonna take me a bit of time 'till the next write-up! ;)

-- Baktash

Sad GAL! So today I'm shutting down GAL!
April 18th, 2016

So today I'm shutting down GAL

Without boring you with needless rambling, here's a bullet point list of
all the reasons why:

  • No community interest: So far no one has stepped up to the plate to help out.
    People like liking it on GitHub... but no one has shown any interest in coding for it
    or improving it.
    I even reached out to AMD to see if GPUOpen would be interested in adopting it...
    and they said they were gonna make sure that there are no similar efforts and
    get back to me... and I haven't heard back from them since. This was months ago.
  • I'd rather focus on Vulkan: So far I've been trying to mould existing code to
    make housing D3D12 and Vulkan together easier... but this is a plus for Microsoft
    (which probably has no interest in this) and a negative for me (as I have to pour effort
    into this to make sure D3D12 and Vulkan successfully sit under the same abstractions.)
    I'd rather pour effort into something that will make HighOmega most available and
    cross platform on a future release than to try to plant seeds for a day that I *may*
    get an XBOX One DevKit. If Microsoft isn't interested, neither am I.
  • This battle is not for today: HighOmega needs a rendering refresh. And needs
    one badly. Trying to please the community (at this point) will cost it quite a bit in
    terms of relevance.
    When and if it gets the attention (and the money) it deserves we'll come back to this
    exercise of cross-platformism. But not today. I need to pick my battles wisely, and
    this is not the time for spreading the love. Not yet.

Sorry for those who maybe disappointed by this news. We'll get to this. Someday. But not today.
Wish you a wonderful week ahead.


TL;DR: GAL was becoming a dead weight and I shut it down.

Autodesk Logo We are now an Autodesk Canada Co.* vendor!
January 31st, 2016

Ladies and gentlemen.

It is with immense pride and joy that I make this announcement:

TooMuchVoltage Software Inc. is now an Autodesk Canada Co. research vendor.
TooMuchVoltage Software Inc. will commence work on a research project with one of
Autodesk Canada's research teams (headed by Azam Khan and Alex Tessier)
starting tomorrow February 1st, 2016. This is a highly exciting opportunity
and we welcome it with open arms. I envision a highly collaborative and rewarding
experience building together with Autodesk in the coming months and years.


* The Autodesk logo is a registered trademark of Autodesk Inc.

Graphics Abstraction Layer Icon Announcing GAL: Graphics Abstraction Layer
January 15th, 2016

Graphics enthusiasts...

First and foremost, happy new year!

Secondly, I wish to present to you (*drum roll*) : TooMuchVoltage Software's first
free and open source project! GAL : Graphics Abstraction Layer.
This is a Direct3D 12 wrapper that will also be extended to wrap Vulkan.
(Metal support may also arrive if some concerns are addressed by Apple.)
It's a slim, light-weight wrapper around Direct3D 12 that rather than hiding
the nitty gritty concepts of Vulkan and Direct3D 12 (Command Queues,
Pipeline State Objects... etc.), it makes them easier to understand and consume.
It simply hides boilerplate and platform/API-specific stuff.

So I dropped this on Github a few nights ago and so far it seems to have gained
quite a bit of traction! It's currently in its infancy (v1.000003) and I ask you
to help me make it better and grow! I would love to once again democratize
graphics development the same way engines such as Ogre have been for many years.
Therefore, please fork or contribute to it.

Stay tuned for more updates!

Til next post...
-- Baktash, over and out.

French Flag Paris, Apple and HighOmega...
November 16th, 2015

So I get off the plane, get home, dose off and wake up to find out that half the
world away scores of innocent people have been slaughtered mercilessly. Way to end a
nice trip. So please excuse me while the mood is a bit somber over this.

And of course, there's more to be upset about as rumour has been going around that
Apple has been slowly squaring itself away from both OpenGL and Vulkan (e.g. not
releasing a new OpenGL driver -- still remaining on 4.1 -- and resigning from
the Vulkan working group (is this really true?)) in favor of Metal.
Well, this sucks. And you'll find me hounding Apple in the coming days for this.

While I was away on vacation I still got some things done. Made some OpenCL kernel
and wrapper performance improvements for HighOmega that interestingly only affected
nVidia cards. (or at least my GF 460M GTX.) So here it is.
Let me know by any of the means available to you whether you've experienced
speed ups on any platform. Until next time...

...Stay safe,
-- Baktash

HighOmega Logo Toronto ACM SIGGRAPH TechTalk video is back!
Along with a new HighOmega!

October 14nd, 2015

So I decided to re-upload the Toronto ACM SIGGRAPH TechTalk video from Sept. 29th
with a helova lot more editing! I tried to keep all the highlights of that memorable
evening, while keeping out all the shakiness, blurriness and out-of-focus-ness
(... for the most part.)

You can watch the video here! Hopefully, this one will impress you more than the last :)
Goes without saying that it was a lovely night! We had raffles, beer, nachos... lotsa fun!
Make sure not to miss the next one!

In the meantime, I decided to do some clean-up on HighOmega as well. I removed some
deprecated GL stuff that had fallen through the cracks and started caching some shader
values (e.g. uniform and attrib locations on linked shaders.)

What I found was quite shocking. Caching uniform/attrib locations on my GF460M GTX
results in no gains (performance-wise) while it resulted in an avg. 30% increase in
frame-rate on my Radeon 7970HD (while running templegarden.) This is starting to prove
my gut feeling that AMD GL drivers seem to have higher GL API call overhead than their
nVidia counterparts. Again, don't quote me on this... it's just a gut feeling (with some
evidence.) But a 30% increase in performace is hard to miss.

Now to be fair chances are they're probably spending all that time doing stringent
state-completeness checks to make sure things are in order before letting your call through.
One more reason to impatiently wait for Vulkan!

In the meantine you can grab the most recent version on the downloads page.

And with that, I'm gonna be taking off for a month! :) I'll be relaxing in a far
distant land. See you all when I get back!

-- Baktash

HighOmega Logo HighOmega with Sparse-Voxel Hybrid Path Tracing!
October 2nd, 2015

Well this is going to be a short but nevertheless a very important post :)
I just uploaded HighOmega v2.000007! Grab it here.
This version includes the sparse-voxel hybrid path tracer that I unveiled on
Twitter and Facebook not that long ago. Of course, bear in mind that blocky
reflections that happen near the ground can be alleviated by using cascaded
sparse voxel representations of the scene (this implementation was not extended
that far). The main purpose of this release is to put it out there for
benchmarks and general fooling around :)

Anyway download it and let me know how well it does or doesn't run on
your rig!!! (Leave comments on Facebook or msg on Twitter if you'd like)

Hope you enjoy it and until next time,
-- Baktash

UPDATE: For those of you who can't find your way around, select "Voxel Outback"
from the map selection menu. Also try going up the dark stairs to find your
way into the second area ;)

Utah Teapot Tech-Talk round-up!
September 30th, 2015

Last night was AWESOME!

It was truly an honor and a pleasure to be presenting to the
Toronto chapter of ACM SIGGRAPH. I would like to formally thank
Jacky and the entire Toronto ACM SIGGRAPH team for making this
happen. I would also like to thank each and every one of you
who showed up and made last night a huge success and a memorable
experience for all of us. It was great conversing with you about
various aspects of graphics and game design both after the talk and
at the pub. Truly a night to remember!

As promised here I've uploaded the presentation along with all the builds and
videos used to make it! Grab them all here in the publication section!

Well, that is all for now... make sure to check back next week for a
surprise new build with some new cool features!

Until we meet again :),
-- Baktash

Utah Teapot Toronto ACM SIGGRAPH Tech-talk!
September 14th, 2015

Ever wondered how HighOmega does its fluid simulations?

Well here's your chance to find out!

I'm going to be talking at the Toronto ACM SIGGRAPH Tech-talk held on
September 29th, 2015 from 6PM to 8PM! It will be held at
Autodesk Viz Studio, 210 King St. East, 2nd floor.
Seriously, be there! It will be lots of fun! Plus, there will be a warm networking
night held right after the talk where we'll get to drink and talk about
whatever it is you have on your mind about the HighOmega game engine.

Discussions may or may not include leprechauns and unicorns. Maybe.

Stop reading this damn it and CLICK HERE ALREADY. Jesus.

Seriously ... come :D!
At least you'll get a chance to say you've been inside Autodesk once :P

Do it :).

-- Baktash

P.S.: Original link. Be a champ and become a member today :)!

HighOmega Logo SIGGRAPH2015, a new HighOmega and a new site!
August 19th, 2015

So where do I begin? ACM SIGGRAPH2015 was an unprecedented blast!
The talks and courses were amazing, and there was so much to discover
you couldn't possibly get to it all! But I still managed to go to quite
a lot and learn quite a massive lot about what others are doing in the
game graphics sphere. I also got to showcase HighOmega on the
Cg in Africa + MidEast panel which was a huge honour and an absolute
pleasure! If you missed it, you missed a LOT! So make sure to grab your
tickets for next year :).

I also managed to speak to and converse with some of the most brilliant
minds of our generation in graphics: Christophe Riccio (OpenGL insights anyone?),
Cyril Crassin (SVOGI, remember?), Graham Sellers (World Guru on OpenGL and Vulkan),
Mark J. Kilgard (Remember GLUT? :)), Tobias Hector (Grab your iPhones!) and
many many more to fit here. Much drinking and partying was involved!
(SIGGRAPH Chapters party was NUTS!) The experience was truly one of a kind.

But one of the side effects of going to SIGGRAPH is that you feel like you
can't stay still! It feels as if the world is moving at a much faster pace
than you! So I got to work and added tessellation support for terrains in
HighOmega (alongside some bug fixes and other improvements).
Grab it while it's hot in the Downloads section.

I also brought back a lot of pictures along with their stories :)! Grab them from our
Facebook page.

And since so many of you had requested a better site, I also sat down and rewrote the
site away from Canvas + JavaScript! Hopefully, you'll find it a lot faster and easier
to navigate this time :).

Well... I guess that's it for now. I hope you're also having fun wherever you are
and whatever you're doing :).

Until next post,
-- Baktash

HighOmega Logo Thank you GameDev subreddit community!
June 13th, 2015

So two days ago I went on Reddit and asked for people's opinions on
HighOmega. I received a wealth of feedback and have already implemented
some while contemplating others. Interestingly, at some point the topic was 4th
hottest thread and 2nd top thread on GameDev subreddit. Also sometime yesterday
the servers hosting the site (apparently) slowed down due to the massive
amount of interest in the topic. For all of this, I wanted to thank you,
the GameDev subreddit community, for your overwhelming interest and your
helpful feedback. Here's a link for anyone who missed it: click here!

Kind Regards,
-- Baktash

HighOmega Logo A few words on Vulkan(TM)
May 17th, 2015

Earlier this year, during GDC 2015, Khronos announced the Vulkan(TM) API!
The OpenGL development community jumped in joy and hailed the news in unison.
And so did I! I have to say, this has to be one of the most exciting
pieces of news to have ever come from the Khronos committee!
I will be watching the development of this API very closely and if it proves to
be what it is promising to be, the HighOmega engine will get a Vulkan makeover :).
Let's all hope that Vulkan will not be another OpenGL-3.0-release-type experience
and that Khronos will really deliver this time.

Until then,
-- Baktash

HighOmega Logo The launch party was a blast!
May 10th, 2015

Holy bleeping bleep! That was AWESOME!
I would like to personally thank everyone who showed up!
If you have pictures of the event please post them on the
click here! wall. I'm creating an album and you should be in there!
For the time being there are some pictures up on there.
Make sure to check'em out if you haven't already.
Thanks again for your ever-present support in every way, shape.

Until next time (and believe me, there will be one),
-- Baktash

HighOmega Logo HighOmega v2.000000 is here!
May 9th, 2015

Well, well, well... it is finally here!
It is with great pleasure and joy that I announce the release of
HighOmega v2.0 to the public. This version was under active
development for 2 long years. Looking at the change log one
can get a sense of how much the engine has changed (or rather
has improved) over the past 2 years: 156 feature improvements. When all is said
and done, the hope is that you will take great joy in playing around with it and
finally finding out what was brewing under the hood all these years.
HighOmega v2.0 is available for download in the Downloads page! Check out the
YouTube trailer! as well while you're at it.
We would also like to announce the launch of our newly created online store!
Please support us by heading on over and grabbing your favorite merchandise!
Thank you for taking the time to read this jubilant post!
Yours truly,

-- Baktash
P.S. We know we've been silent. We're sorry. We promise to engage the community
more going forward. Reach us on our new and improved forums!

TooMuchVoltage Logo Re-boot!
June 24th, 2013

After a tumultuous 2012, and a cancelled title TooMuchVoltage is back.
For this company and me personally 2010-2012 were experimental and
educational years perhaps crucial for a new found focus and dedication.
In those years this company spend time, money and energy focusing on
efforts that were in no way related to its long terms goals and this
corporate side-tracking perhaps caused it quite a bit of hurting.
However, as most would agree making mistakes is one of the most effective
ways of learning and as the saying goes: what does not kill you makes you
Having said all of this, there's quite a lot to be hopeful about. There will
be -- hopefully soon -- interesting announcements and uploads that I will be
sharing with you with some joy. And bigger plans are in development behind the
scenes for a larger project that will no doubt be exciting for you to hear about.
In any case I ask you to have faith in us and stay tuned.

-- Baktash
P.S. I hope you're enjoying the HTML5 port of this website as much as I am :)

TooMuchVoltage Logo About us

The story of this company is too long, involved and crazy to
fit a small blurb on a single web page :). However, what I can fit here
are the highlights of its journey getting here:

  • 2010: The company goes live and releases the first version of its
    flagship engine HighOmega. HighOmega 1.0 is the result of two years
    of hard single-handed work building an engine from scratch while
    juggling school work at Ryerson university. People are shocked at
    how small it is in comparison to its insanely long featureset.
    HighOmega v1.0 Nostalgia
  • 2012: We release the adventure puzzle game Ink: The Philosopher's Well
    for a private beta on BigFishGames. We had by this point put HighOmega
    on hold and had been developing Ink for two years straight with a rather
    large team. Unfortunately, due to our vision mismatching market desires,
    it had to be dropped and operations were winded down.
    Ink Nostalgia

  • 2015: Five years of craziness and a dropped title later, the new
    version of that same engine, HighOmega 2.0 is publicly released to the
    amazement of its audience and is lauded for its progress since the early
    days. It also gets to be showcased on the IRC panel at SIGGRAPH 2015.
    Its fluid simulator would later on get its own Toronto ACM SIGGRAPH Tech-Talk.
    HighOmega 2.0 Concept Nostalgia
  • 2016: TooMuchVoltage Software Inc. becomes the first ever corporate vendor
    to be hired directly by Autodesk Research (at least in Toronto) and the team
    grows again for the first time since the winding down of 2012. Thus begins
    TooMuchVoltage Software's venture into consulting activities. Do not be
    mistaken though, we're still very actively making games in silence ;).
    In fact, a mixture of HighOmega titles/projects are currently being
    juggled at the same time. Stay tuned.
    Autodesk Drunkery
    Photo courtesy of Ryan Schmidt
  • 2017: With the Autodesk deal in the rear view mirror... we're once again in
    full focus on the stuff that matters most! The first thing to be
    unveiled in this post-Autodesk era was my (Baktash's) very own breakthrough:
    Cascaded Sparse-Voxel Hybrid Path-Tracing with Spatial Denoising.
    This is a modern version of the same technique that went into
    HighOmega v2.0's Voxel Outback almost two years ago. The response online has been
    phenomenal and this technique is slated to enter the upcoming
    HighOmega v3.0 release and future game releases. As with every post,
    I ask you to be patient and stay tuned :). Magical days are ahead!
    And thanks for having stayed in tune so far! We appreciate your support!
HighOmega v2.0 demo

After years of hard work, we present to you HighOmega v2.0!
Click the image below to watch the HighOmega v2.0 release trailer on YouTube.
Don't forget to leave us a comment or suggestion. We'd love to hear back from you.
Click here to download the latest demo: v2.000009.


HighOmega v1.0 Album HighOmega v2.0 Album Wallpapers Album

HighOmega v1.0 Album

The HighOmega (TM) engine is our own in-house
engine and is coded from the ground-up. The
only third party APIs used are SDL (for
cross-platform input/windowing), OpenGL, OpenCL and
OpenAL. This engine will be the prime candidate
for the development of our future titles. The
current features of the engine are listed in the
following pages. However, the engine is a
work in progress and is continuously improving.

  1. Fully multi-threaded design. Rendering,
    Physics and Entities-processing are done on
    separate threads.
  2. Engine designed with flawless memory
    management. No memory leaks. Ever.
  3. Fully cross-platform design. Can be compiled
    for Windows, Mac OS X,GNU/Linux or FreeBSD.
  4. Runs on SSE4-optimized internal math engine.
Rendering Capabilities:

  1. Adaptive HW-accelerated Tessellation and
    height-map-based Vertex Displacement Mapping
  2. Texture factor maps representing per-texel
    reflections and refractions
  3. Bloom maps for per-texel custom bloom
  4. Fresnel-weighted reflections and refractions
    on water and glass coupled with z-feathering
  5. alpha-or-additive blending for geometry with
    z-feathering support
  6. Stencil map based texture splatting ideal for
    terrain rendering
  7. Dynamically updated outdoor environment maps
  8. Smart-Screen-Space Perspective Cubic Shadow
    Maps with texture projection (Stained Glasses)
  9. Smart-Screen-Space Orthographic Cascaded Shadow
    Maps (for sun or moonlight) with texture
    projection (Stained Glasses)
  10. Physically-based lighting with Cook-Torrance and
    Ward Anisotropic lighting models accompanied
    by roughness maps
  11. Deferred shading pipeline with support for both
    area lights and shadow-and-color-projection-enabled
    point/spot lights
  12. Support for interpolated per-vertex or flat
    per-face normals
  13. Per-pixel world-space normal mapping
  14. Smooth Hi-Definition Screen-Space Ambient Occlusion
  15. Sparse-voxel-based Real-time Dynamic Global Illumination
  16. 3D height-based water effects with modeled splashes
  17. Particle system supporting debris, glass shards, sparks,
    leaves, flower petals, shell casings ejected from weapons
    and wood splinters
  18. Realistic fire animation
  19. Texturized Volumetric Lights
  20. Texturized Volumetric Sun Lights (affected by sun's
    direction and lighting color)
Rendering Capabilities:

  1. Screen-Space Crepuscular Rays using Volumetric
    Scattering for outdoors
  2. High Dynamic Range Lighting
    (Bloom and Tone Mapping)
  3. High Dynamic Range Refraction,
    Screen-space Reflection
    and Environment maps
  4. Sky simulation using Rayleigh and Mie scattering
  5. 3D SkyBoxes with distant haze
  6. Screen-space haze and distortions
  7. Realistic lens flare
  8. Real-time color grading
  9. Inclusion of environment details in screen-space
    reflection, refraction and environment maps
  10. First-person Camera, Per-Object and Per-Limb Motion Blur
  11. Depth of field with gradual adjustment of circle of confusion
  12. Hardware-skinned animations with parametric blending
    support for mixing animations from multiple sources
  13. Subsurface scattering and translucency
  14. Propietary 3D format for 4-weight-per-vertex animated
    and static-and-indexed geometry. Exporter available for
    Blender 2.62.
  15. Near-full support for the Truevision TGA format
  16. Per-pixel fog
  17. Underwater blurring and accurate caustics effects
  18. MJPEG encoder and HW-accelerated decoder using OpenGL
    PBOs and GLSL
  19. GPU-cached animated textures
  20. GPU-cached geometry for static, animated and rigid-body
  21. Frustum and Software Occlusion Culling
  22. Heavy use of and support for offscreen rendering
  23. Camera-rail system with Blender camera paths and
    set-up integration
  24. Built-in optimized FXAA2 implementation
  25. Modern UI design and text rendering
Fluid Simulations:

  1. Real-time OpenCL-backed 3D semi-Lagrangian
    Navier-Stokes Simulator
  2. Utilizes Vorticity Confinement for accurate
    detailed simulations
  3. 3D Cube-map Rendering used for fluid display

  1. Own physics engine (Fiz-X) coded from ground-up
  2. Sequential-Impulse based multi-rigid body
    dynamics simulator
  3. Buoyancy simulations using Buoyancy bobbies,
    fluid friction and stabilizing springs.
  4. Per-texture surface friction
  5. Spring-based stable cloth and pressure-based
    soft-body simulations with easy cloth and
    soft-body design within Blender
  6. Idealized-contact based joints and ragdolls
    with error-correction
  7. Artist-controlled destructible environments
    (such as breaking walls or glass)
  8. Player physics capable of smoothly handling
    static/dynamic physical environment
  9. Object freezing for efficient simulation
  10. Basic weapon, inventory and ballistic
    system (for now)
Experimental CGI Renderer:

  1. Integrated Brigade-style OpenCL-backed
    uni-directional real-time path-tracer
  2. Utilizing Morton-code based BVHs for efficient
    handling of complex scenes
  3. Accurate resolution of the original Fresnel
    equations for di-electric materials
  4. Per-object adjustable indices of refraction
  5. Per-object adjustable surface roughness
  6. Support for the total internal reflection
  7. Support for bilinearly filtered textures
  8. Support for animated textures during
    camera motion
Second Experimental CGI Renderer:

  1. Integrated sparse-voxel hybrid path-tracer
    (Rasterized G-buffers combined with path-tracing against voxels)
  2. Support for importance sampling against
    bi-directional roughness maps
  3. Support for normal maps
  4. Support for emissive surfaces

  1. Ground up sound system based on the OpenAL API
  2. Internal procedures for efficient handling of
    WAV files
  3. Thread-safe audio system


Publications Logo Publications

Toronto ACM SIGGRAPH Tech-Talk
September 29th, 2015

You can download the presentation here: FluidSimPresentation.rar

Here are all the builds used to generate the presentation videos in a single package: HighOmegav2.000007_Public_SmokeSimOnly.rar





We do not provide consulting services any more.
This page is kept as an archive in the meantime.


Autodesk Research

From February 1st, 2016 to September 30th, 2017 we were providing research consulting and development to one of Autodesk Canada's research teams.

* The Autodesk logo is a registered trademark of Autodesk Inc.




Contact Logo Contact Us

Get in touch.

TooMuchVoltage Software Inc.
250 University Ave., Suite 216
Toronto, ON, Canada M5H-3E5

Telephone: 416-491-8653
E-mail: our address

office pictures

Legal Info

Access and use of this site is provided subject to the following terms and

Copyrights and Trademarks: All content on this site ("")
-- unless specified to be the work of another author -- is copyright ©
TooMuchVoltage Software Inc. The Lightning Bolt logo is a trademark of
TooMuchVoltage Software Inc. You are not allowed to use any content from
this site elsewhere, unless given explicit permission in writing from the
board of directors at TooMuchVoltage Software Inc.