Category Archives: Programming

ImageMagick on Azure Functions for Linux with Node.js

Since you cannot install any additional dependencies on function instances, you have to include any missing tools, that you need, as static binaries in your deployment. To prepare a static…

Are small memory allocations in C++ STL containers still a concern?

While benchmarking a custom concurrent functor queue against standard library containers, I noticed something that I didn’t expect. The common concern about the standard containers, especially ones such as std::list,…

Manual code signing certificate request procedure

Executables signed with a reputable code signing certificate get better SmartScreen treatment. A signed executable proves that it hasn’t been tampered with by anyone who does not have the signature…

Patching the mouse wrapping glitch in 3ds Max 2010 on Windows 10

Using 3ds Max 2010 under Windows 10, when panning the viewport, the mouse cursor frequently glitches away and the viewport pans off to nowhere. I worked around the issue by…

A practical explanation of Bayer Dithering

How to implement bayer dithering for reducing an image to a lower bits per color format. This article explains bayer dithering in a practical manner. If you really want a…

3ds Max File Format (Part 6: We get signal)

Let’s see what we can do now. INode *node = scene.container()->scene()->rootNode()->find(ucstring(“TR_HOF_civil01_gilet”)); nlassert(node); exportObj(“tr_hof_civil01_gilet.obj”, node->getReference(1)->getReference(1)); Plain easy, right?

3ds Max File Format (Part 5: How it all links together; ReferenceMaker, INode)

At this point, you should start to familiarize yourself a bit with the publicly available 3ds Max API documentation. The contents of the file map practically 1:1 with how the…

3ds Max File Format (Part 4: The first useful data; Scene, AppData, Animatable)

The most interesting part of this file is, evidently, the Scene. Opening it up in the chunk parser, it begins like follows, and goes on for a few ten thousands…

3ds Max File Format (Part 3: The department of redundancy department; Config)

Now we’ll have a look at the Config stream. It begins like follows, and goes on forever with various integer fields and other binary blobs. (StorageContainer) [15] { 0 0x2090:…

3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)

Now that we understand the outer structure of the file, it’s time to look closer to what’s inside. The DllDirectory stream looks like a good starting point. After cleaning up…