15 September 2014

Flexible particle system - Tools optimization

In this post I will test several compiler options and switches that could make the particle system run faster.

Read more to see how I've reached around 20% of performance improvement!

11 August 2014

OpenGL 4.5

OpenGL 4.5 has just arrived!

Since Siggraph 2014 is happening right now, we could expect a new version of OpenGL. And it happened! Khronos announced OpenGL 4.5! Not a major update, but still adds some nice features to the API. What about OpenGL 5.0? Is there any news here?

03 August 2014

Review of "D Cookbook"

I am very curious about the D language and its community. Although, I do not have lot's of experience with this language, I try to track news and important updates. Recently, I've noticed that there is another book released regarding the language: D Cookbook, by Adam D. Ruppe

Let's see what's inside this book

30 July 2014

Flexible particle system - How to start with Software Optimization

How to start with Software Optimization

It's time to start improving the particle code and push more pixels to the screen! So far, the system is capable to animate and do some basic rendering with OpenGL. I've shown you even some nice pictures and movies... but how many particles can it hold? What is the performance? Is it that bad? What are the hot spots and bottlenecks? We need to figure that out in the first place!

14 July 2014

Quick case: Char Pointer vs Char Array in C++

When you write:

char strA[] = "Hexlo World!";
strA[2] = 'l';

Everything works as expected. But what about:

char *strP = "Hexlo World!";
strP[2] = 'l';

Do you think it will work correctly? If you are not sure, then I guess, you might be interested in the rest of article.

09 July 2014

Flexible particle system - OpenGL Renderer

As I wrote in the Introduction to the particle series, I've got only a simple particle renderer. It uses position and color data with one attached texture. In this article you will find the renderer description and what problems we have with our current implementation.

30 June 2014

Automated Reports with C++

Recently, I've written an article about using a .NET third party library to generate reports from apps. You can find it on this in my previous post. In my opinion, the whole idea might be useful, for instance, for performance tests. I often try to make such in my blog. Basically you do some tests and then output results to the console or a txt file...

But, wouldn't it be great to write results directly to a spreadsheet and draw some charts automatically? Can it be done in C++ as well?

14 June 2014

Automated Reports

On my programming blog, I often try to compare performance characteristics of different algorithms or concepts. I usually log performance output (like elapsed time) to the console or a txt file and then copy this to a spreadsheet and analyse. But recently, I've found another way of doing this: I've used Spire.XSL library to generate the final spreadsheet file - with all the tables and charts! Read further to learn how one can leverage this library for various automation tasks.

06 June 2014

Flexible particle system - Updaters

In the previous particle post the particle generation system was introduced. But after a new particle is created we need to have a way to update its parameters. This time we will take a look at updaters - those are the classes that, actually, makes things moving and living.

31 May 2014

Talk summary: The Last Thing D Needs by Scott Meyers

Recently ended DConf 2014 conference was, as usually, a great event filled with interesting topics about the D language. I still need to update my little knowledge about the language and see more presentations, but one keynote especially drew my attention. This was a talk from Scott Meyers called The Last Thing D Needs.

But... hmmm... why C++ guy on a D conference? And why he had slides without D code... only C++? Strange...

19 May 2014

Vector of Objects vs Vector of Pointers Updated

In one of my previous post I wrote about performance differences between using vector<Obj> and vector<shared_ptr<Obj>>. Somehow I knew that the post is a bit unfinished and need some more investigation.

This time I will try to explain memory access patterns used in my code and why performance is lost in some parts.

14 May 2014

Flexible particle system - Emitter and Generators

particle emitter

In our particle system we have already a basic foundation: the container and the framework. Now we need some modules that can actually wake particles. In this post I will describe the emitter module and generators.

10 May 2014

Notes from Digital Dragons 2014 Day 2

Digitial Dragons logo
official logo from digitaldragons.pl

Please see my notes from the second day at Digital Dragons 2014 Conference from Cracow.

Presentations started a bit earlier than the day before - at 9:00. Although a lot of people had been at the official DD afterparty and Gala awards, at the morning sessions there were some decent number of survivors :)

Content By Bartlomiej Filipek, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
This site contains ads or referral links, which provide me with a small commission for each sale/click. Thank you for your understanding.