I just wrote a small time-measurement-class in C++11 to be able to measure the time spended in a loop. It is just a simple struct which will measure the time via RAII ( see Resource_acquisition_is_initialization ) . The time will be measured by using the std::clock() ( see std::clock-doc ) class. So this solution will…

In Asset-Importer-Lib we got a lot of feature-requests to provide point-clouds somehow. Doing this will be a big step for our library because the intention when designing Assimp was to give the user an optimized scene with meshes ready for rendering. And we need triangles to get a valid scene definition. And all free vertices,…

When I started to work on my OSRE-Engine I was just curious how to answer the following question: how can I work with a separate render-thread without getting mad all day long. And what the fuck is a thread. So I decided to implement my own multi-threaded renderer some years ago. Special when you want…

For all who are interested in the language ports of Asset-Importer-Lib: I opened a poll which language binding will be preferred. So if you want to vote as well, feel free to participate our poll at: The Assimp language binding Poll

Think about the following situation: There is an interface / class interface / function in your application used by others which conains non-standard enums / types / whatever coming from an external API like OpenGL, DirectX, some kind of commercial API. The underlying code strongly uses this API. So using parts of this API was…

What is this all about? At the moment I have to deal with legacy code during my day-job. And I got the idea that, maybe, some other people are interested how I solved all the different issues as well. So I decided to start a serie of blogposts about the different kind of challenges I…

If you want to support my Asset-Importer-Work: here is my Patreon-Profile for the assimp-library: https://www.patreon.com/assimp I cannot promise that I will be able to work on Assimp all day. But for funding will help me to improve the underlying infrastructure like the webspace or some new hardware.

The problem: Think of the following situation: you want to import a model using Asset-Importer-Lib and store some values like the version of the current asset or the author / company. Or when you want to manage the models using modules for a much more efficient way for your SCM you need to store grouping…

One of my favorite tools to debug MFC-Applications was the Win32-call: You can use it to trace information withing your application during runtime without a log-file. You only have to run the tool DbgView to monitor these log-entries ( if you want to try it out you can download DbgView here. ) Because I am…

I am currently working on C# wit generics. The base concept seems to be the same as in C++ ( which I really like honestly spoken ). And I tried to use specialization. There was a class which needs to deal with special data types. And for some special cases you need a type-specific semantic,…

Our problem! After struggeling with bugs in assimp for more than 10 years until now I have to accept the fact: I need to improve our unittests + regression-test-strategy: New patches are breaking older behaviour and I haven’t recognized it until a new issue comes up created by a frustrated user. I do not have…

Day zero Imagine the following situation: you are starting a new job, you are looking forward to your bright future. Of course you are planning to use the newest technologies and frameworks. And then you are allowed to take a first look into the source you have to work with. No tests, no spec, which…

When you are working on Github with your project there are a lot really handy services which you can use. This kind of software-usage is called “Software-As-A-Service”. Why? You can use it via a nice Web-API without having all the maintain-work. For instance when you want to use a Continuous-Integration-Service for your project you can…

The idea Unittests and integration-tests are a great tool not to break your code. They are building a safety-net to help you when you have to add a new feature or fixing a bug in an existing codebase. But of course there will be situations when a bug will occur which was not covered by…

The latest version of QtCreator brings an option to run static-code-analysis using Clang. I struggled a lot with the setup of Coverity for Asset-Importer-Lib, so I had some hope that the setup for Clang will be a little bit easier. I wanted to run it on Windows 10 first, then move to Linux. So here…

If you want to generate a 64bit-build for Asset-Importer-Lib by using the Visual Studio project files generated by CMake please follow these instructions: Make sure that you are using a supported cmake ( 2.8 or higher at the moment )- and Visual-Studio-Version ( on the current master VS2010 is deprecated ) Clone the latest master…

If you are looking for the latest Asset Importer Lib build: we are using appveyor ( check their web-site https://ci.appveyor.com, its free for OpenSource projects ). as the Continuous Integration service for windows. If the build was successful it will create an archive containing the dll’s, all executables and the export libraries for Windows. At…

Do you know the assert-macro? It is an easy tool for debugging: You can use it to check if a pointer is a NULL-pointer or if your application is in a proper state for processing. When this is not the case, if will stop your application, when you are using a debug mode, in release…