Chapter 6. External files, Windows

Tags: Visual Studio, File I/O, Resource Management, Win32 API, Build Events, C++, Data-Driven Design Now, having a cross-platform solution, we can start thinking about our Graphics Engine. However, the first question will be not about graphics, but how we gonna handle data files (like shaders, models, textures and so on)? For example, currently our triangle […]

Chapter 4. Platform independence

Tags: Software Architecture, C++ Classes, Cross-Platform Design, Code Decoupling, Platform Abstraction, Reusable Core In the previous 2 chapters, we have successfully “married” Android and C++, Windows and OpenGL ES. Now, having 2 C++/GLES projects for 2 different platforms, let’s see what is common and what is not. The difference actually looks frightening, seems like nothing […]

Chapter 3. Hello Windows

Tags: Visual Studio, OpenGL ES 3.2 on Desktop, GLFW, GLAD, Win32, C++, Cross-Platform Foundation Using OpenGL ES on the PC is less straight forward than on Android. The reason is that GL ES is intended for mobile devices, NOT for desktops. Fortunately, solutions exist. OpenGL producers strongly advise to use a window toolkit (GLFW) and […]

Chapter 2. Hello Android

Tags: Android Studio, NDK, GameActivity, C++, OpenGL ES 3.2, EGL, Native Programming Default Android languages are Java and Kotlin. In order to use C++ we’ll need so called NativeActivity. Start Android Studio. Pick New Project. Scroll down, select Game Activity (C++) which is a direct descendant of NativeActivity and shares a similar architecture. It’s a […]