August 8, 2020

How to use Vulkan Timestamp Queries.

At some point in my development life, I decided that I want to know how fast my GPU can crack the tasks I throw at it. And if you read this then you probably want to know it too. I expect that you know that measure a GPU time on the CPU makes no sense since CPU and GPU are two different processors and if you place std::chrono::some_clock::now() before and after a draw call it will always give you a time near to zero. Luckily Vulkan provides a tool to make time snapshots - the so-called Queries. There’re multiple different query types but today we’ll talk about Timestamp Queries. Read more

March 23, 2017

Functional programming in c++ by example

Functional programming (FP) is popular these days. Articles, books, blogs. Every conference has a couple of talks about the beauty of functional approach. I looked at it from the side for a long time and now I want to try it in practice. After I dug a lot through the theory I decided to write a small application in a functional style. I’ll take a code from my previous article so the example will be a 2D physics simulation. Read more

February 2, 2017

Data Oriented Design by example

The last couple of years interesting but not so popular paradigm appears more often. I’m talking about Data Oriented Design (DOD). If you’re searching for a job that involves high-performance calculations be ready to hear corresponding questions. And I was surprised knowing that some my colleagues have never heard about the approach and after the short discussion stayed skeptical. In this article I’ll try to compare traditional OOP approach with DOD on a real world example. Read more

June 23, 2016

DirectX 12 by example

Disclaimer! I’m not an expert, computer graphics is my hobby. When I started to learn directx 12 I already was quite comfortable with directx 11 but it was still difficult to switch. And even after several months of investigations I still have a feeling that I just scratched a surface. I’m constantly learning and this post is a syncronization of my thoughts. I found that attempts to explain complex things makes me understand these things better. Thought the artile was written by me for me I hope you’ll find it useful too. Read more

May 24, 2016

std::function - to bind or not to bind?

In my previous post about delegates I wrote how to bind a member function to std::function. There was a lot of template magic involved in order to pass the correct number of placeholders. Shortly after I published I received a lot of feedback and I’m very grateful for this. One advice was not to use std::bind() at all. Read more

April 26, 2016

std::function as delegate

After my previous post some people asked why did I invent what was invented already? Why did I try to write another std::function? Well, from the begining I planed to compare custom and standard approach. So here we are. Read more

April 12, 2016

Generic C++ delegates

I like modular programming - the style where each separate part of the functionality knows nothing about any other part. But the modules need to communicate with each other somehow. Read more

February 21, 2016

Call a function from the string name and arguments

Recently I had an interesting task on my work - a cheat system for a game. All the system should do is to call functions during apllication run with console commands (game console). Functions can accept different number of arguments with different types. Read more

© nikitablack 2019

Powered by Hugo & Kiss.