The above field is supplemented with consent to receive a newsletter containing information and marketing content about the cppstories.com portal from Bartłomiej Filipek codebf based in Krakow. The consent may be withdrawn at any time. See the full Privacy Policy.
One of the most crucial part of a particle system is the container for all particles. It has to hold all the data that describe particles, it should be easy to extend and fast enough. In this post I will write about choices, problems and possible solutions for such container.
Just a quick summary of a great presentation from Build 2014 called Native Code Performance on Modern CPUs: A Changing Landscape.
The presenter Eric Brumer (from Visual C++ Compiler Team) talked, in quite unique way, about deep down details of code optimizations. Why it is better to use compiler to do the hard work.
Particle systems are awesome! Not only can you create amazing effects, but you can also optimize code and push even more and more pixels to the screen. This post series will cover how to design a flexible particle system and apply a bunch of optimizations to run it faster. Flexible means that it can be used in real applications and for a variety of graphics effects.
For some time I have been playing around with my particle system. It seems to be a very interesting experiment to do! Today I just want to present some of current results and thoughts on future development.
So far I managed to create three different effects:
star tunnel: just round position generator + position update attractors: four attractors that affect acceleration of each particle fountain: simple collision detection with a floor Let us see some of the results…
Finally I have managed to publish my awesome water simulation! I know that I wrote about my intentions to publish the project some time ago but as usually there was no enough time :)
The code is quite old and was ready something like 2 years ago. As usually I wanted to polish it and thanks to that it was blocked for too long period of time.
C++11 conformance
GCC 4.81 - 100% Clang 3.3 - 100% Intel 14.0 - 84% Visual C++ 2013 - 66% Another year is almost over so it is a good time to check what is going on with C++. This time more stats and real data compared to my post from the previous year.
How to be a better programmer? What technologies should be learned? How to have fun when coding? Read more to see where are the answers for those questions.
Intro Programmers have this wonderful opportunity to often pursue a dream career path. Lots of us would not like to only pay the bills but actually change the world as well.
When I was (re)implementing PhotoAlbum sample application I got stuck in one place. Program was about to load a list of textures (like 16 maybe) and suddenly I noticed that the whole process takes quite long time. More disappointing thing was that I got memory access errors for some images and configurations.
Recently, thanks to a contact with Packt Publishing, I got a chance to take a look at the new OpenGL book. It is called “OpenGL Development Cookbook” and contains lots of interesting ideas (40 items!) regarding graphics programming. Let us dig into book’s pages to see its real value.
The first thing: the book is a cookbook.
As it appears, our ability to code can be improved by taking some practices from martial arts! CodeKata is a catchy name for set of exercises that done regularly should make your coding skills better. Today I would like to share my “answers” to one of the Kata - karate chop, or simply the binary search algorithm.
The C++ Standard Library: A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis
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.
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.