03 May 2013

Book: The C++ Standard LIbrary, 2nd

We are still waiting for some more books about new C++ standard. Fortunately for us, some authors managed to write books even before C++11 is well "domesticated". One of such examples is the book mentioned in the title of this post.
In short: this is a must-have resource for any C++ developer! It will help you understand new features of the standard. Moreover it will give you in depth view of important areas related to your daily work.

29 April 2013

Interesting Links In April 2013

This time
  • 25 5 Major Challenges in Real-Time Rendering
  • Porting Source to Linux: Valve's Lessons Learned
  • Rendering in Killzone: Shadow Fall at Digital Dragons

12 April 2013

C++ Include test: full matrix

Finally I am able to present some include experiment results! Previously I wrote about Code Generator and now I can actually run this tool and get some numbers out of it. I compared VC11.0 (Visual Studio 2012 For Desktop) and GCC 4.7.2 (using MinGW32 4.7.2 and DevCpp).

28 March 2013

Interesting links in March 2013

This time:
  • An Interview with Tim Sweeney
  • Why C++ in Game Development?
  • Rule Of Zero - resource ownership
  • DirectX vs OpenGL Performance
  • PS4 Coming!

24 March 2013

Code Generator

This blog post is just an improved version of description of a tool I used in experiments with compilation time for cpp code. In order to have various code structures I needed to write some code generator. It is much easier to have a tool than to write test code by myself. Although writing such generator took me some more time than I expected I found this experience valuable and interesting. Just try to write the code that writes the code and you will see what I mean :)

12 March 2013

#Include little toolkit

Include Guards, Pragma Once, Predeclarations and other hints that might be useful when dealing with includes.
What can we do with file including in C++? Do we need to put all the other header files of the project (plus third party libraries) in every file all the time? For sure there have to be some rules to manage that issue properly.
The issue covered in this blog post is of course nothing new. Every Cpp programmer should know how to use #include correctly. But somehow I still see lots of code where there is a mess and compile times takes too much time... What is worse (as it is in most other cases), even if you try for some time to use some good #include policy, after a while chaos still lurks from the files. I am of course also responsible for such mistakes.

03 March 2013

Forward Declaration And a Pointer

Mister C was a cool guy. C could make amazing things with just ordinary text files. He used to grab bunch of them and produce magic binary forms. He could make a spinning cube, web server, or even an operating system.

25 February 2013

Interesting links in February 2013


This time:
  • Two new trends in Realime Graphics
  • Are DirectX and XNA dead?
  • Programmer Interrupted
  • std::map vs std::unorder_map
  • How to efficiently render Lego bricks

16 February 2013

Why is it building so long?


Most of Object Oriented guides revolve around the word encapsulation: we should hide implementation details of a class and reduce coupling between objects as much as possible. But in C++ (and also in other compiled languages) we also need to care about the physical side of the design. How can we do that?

04 February 2013

Smart pointers gotchas

There are at least several questions about using smart pointers in modern C++11
  • Why is auto_ptr deprecated?
  • Why unique_ptr finally works good?
  • How to use arrays with unique_ptr?
  • Why create shared_ptr with make_shared?
  • How to use arrays with shared_ptr?
  • How to pass smart pointers to functions?
While learning how to use new C++ standard I came across several issues with smart pointers. In general you can mess a lot less using those helper objects and thus you should use them in your code instead of raw pointers. Unfortunately there are some topics you have to understand to take full advantage of them. As in most cases you get a new tool to solve your problems, but on the other hand this tool introduces another problems as well.

26 January 2013

Interesting Links in January


This time:
  • Unity Builds
  • Curriculum Part 10: User Defined Types
  • Inline Shaders in C++ Code
  • The Rise and Fall of Languages in 2012
  • The Exceptional Beauty of Doom 3’s Source Code

20 January 2013

Several days with new HTML and CSS

HTML5-logo, wikipedia
During my Christmas break I had some time to look at new things happening in the Web World. Although I spend most of my developer's time in native, windows, graphics and GPU area I thought it would be a good idea to take a glance at some completely different topic.

In the past I somehow managed to create my personal web site and I like "programming" in HTML and CSS. I have not so much professional experience with web design but I like to focus on final outlook of the page, its colours, animations, layout, etc. All in all creating a web page is not that far away from designing a nice looking animation in OpenGL and interesting GUI for application.

In this post I would like to describe some experiments that I did with new HTML5 and CSS3. Please note that I would not like to describe the full spec of those new "standards", you can read this somewhere else in the web.

Let us look on areas that I found interesting and fun to work with.

31 December 2012

C++ at the end of 2012

This year (2012) and the previous one were good time for C++ language. We have the new standard: C++0x became C++11. What is more important is that the language will definitely not be forgotten and new ideas and plans are coming! Another key thing is that Cpp is used in a lot of new spaces - for instance in WinRT, C++ AMP, QT5 with C++11 support and more. Hopefully the language will be accepted and I will not loose my job any time soon :)

23 December 2012

Interesting links in December

This time:
  • Cpp Vector/List/Deque Benchmark
  • Seven productivity myths
  • Modules in cpp, by Doug Gregor
  • Source Making Site
  • Qt Developer Days, Berlin 2012 videos