Best of C++November 2024

  1. 1
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    Brutally Honest Advice for my younger C++ gamedev self

    Practical advice from a seasoned C++ game developer on how to self-learn effectively, focusing on essential skills and avoiding common pitfalls. Emphasizes the importance of hands-on coding, starting projects that challenge your skill level, and the benefits of personal discipline including staying active and healthy. Encourages early specialization in the field you're passionate about and offers resources for beginners in game development.

  2. 2
    Article
    Avatar of watercoolerWatercooler·1y

    When Compilers Take Parenting Classes

  3. 3
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·2y

    I made my own shadertoy in C++

    A developer shares their experience of creating a custom Shader toy in C++, complete with features like sliders, custom textures, color pickers, and a full 3D pipeline. The project aims to provide functionalities missing from Shader toy, such as the ability to modify uniforms and write optional vertex shaders. The developer also discusses tackling various challenges, such as detecting shader uniforms and making the project Shader toy-compatible, ultimately planning to expand the tool further with more features.

  4. 4
    Article
    Avatar of hnHacker News·2y

    Implementing a tiny CPU rasterizer

    Learn how to implement a basic CPU rasterization engine in C++ through a 12-part tutorial series. The project, which is still a work-in-progress, covers everything from drawing the first pixels to advanced techniques and optimizations. All code is available on GitHub, with a single commit for each article.

  5. 5
    Article
    Avatar of aabr2612C++ Developers Hub·1y

    Use of std

    In C++, the 'std' namespace encompasses standard library functions like input/output functions (cin, cout), containers (vectors, map), and algorithms (find, sort). Rather than prefixing these functions with 'std::' each time, programmers can use 'using namespace std' to simplify code and access functions directly.

  6. 6
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·2y

    Draw to your C++ WIN API window! WIN API for Game Developers, day 15.

    Learn how to draw pixels directly to a Windows API window without using DirectX or OpenGL. The post guides you through creating a functional window from scratch, implementing shaped drawing routines, and understanding the RGB color components and memory buffers. It also touches on creating an intermediary buffer to efficiently draw pixels and suggests further exercises like developing a simple 2D game or a 3D renderer.

  7. 7
    Article
    Avatar of lemireDaniel Lemire·2y

    Having fun with modern C++ – Daniel Lemire's blog

    Recent updates to C++ in versions C++20 and C++23 introduce many new features that make programming in C++ more efficient and elegant. This post explores various examples of these features, including advanced string formatting inspired by the Python fmt library, using fold expressions for clean code, and employing std::expected for error handling without exceptions. Additionally, it demonstrates operations with bit manipulation, filesystem interactions, and logging with source locations.

  8. 8
    Video
    Avatar of chernoThe Cherno·2y

    Is C BETTER than C++ for beginners? // Code Review

    A code review of a graphics engine written in C using the Vulkan API by a 13-year-old programmer. The discussion covers the merits of using C versus C++ for beginners, advice on build systems like CMake and Makefiles, and a deep dive into initialization, memory management, and code structuring practices.

  9. 9
    Article
    Avatar of trevorlasnTrevor Lasn·1y

    WebAssembly: When (and When Not) to Use It

    WebAssembly (Wasm) is not primarily about speeding up web applications. Its strength lies in enabling the use of mature libraries from languages like C++ and Rust within web applications. Examples include using MuPDF.js for PDF handling, video and audio processing codecs, game engines, and cryptographic libraries. However, for typical web tasks like API calls and DOM updates, JavaScript suffices and WebAssembly could introduce unnecessary complexity. WebAssembly excels when bringing proven external libraries to handle computationally intensive tasks is required.