30 July 2014

Flexible particle system - 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 :)

09 May 2014

Notes from Digital Dragons 2014 Day 1

Digitial Dragons logo
official logo from digitaldragons.pl

Digital Dragons conference was organized in Cracow for the thrid time. I had no chance to be there in the first two years, but fortunately I managed to appear there this year! See my short info from the first day.

27 April 2014

Flexible particle system - The Container 2

code and implementation
Last time I've written about problems that we can face when designing a particle container. This post will basically show my current (basic - without any optimizations) implementation. I will also write about possible improvements.

25 April 2014

Vector of object vs Vector of pointers

After watching some of the talks from Build 2014 - especially "Modern C++: What You Need to Know" and some talks from Eric Brumer I started thinking about writing my own test case. Basically I've created a simple code that compares vector<Obj> vs vector<shared_ptr<Obj>> The first results are quite interesting so I thought it is worth to describe this on the blog.
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.