Coding practices are a source of a lot of arguments among programmers. Coding standards, to some degree, help us to put certain questions to bed and resolve stylistic debates. No coding standard makes everyone happy. (And even their existence is sure to make some unhappy.) What follows are the standards we put together on the Core team, which have become the general coding standard for all programming teams on new code development. We’ve tried to balance the need for creating a common, recognizable and readable code base with not unduly burdening the programmer with minor code formatting concerns.
- 2011 - A trip through the Graphics Pipeline 2011
- 2013 - Performance Optimization Guidelines and the GPU Architecture behind them
- 2015 - Life of a triangle - NVIDIA's logical pipeline
- 2015 - Render Hell 2.0
- 2016 - How bad are small triangles on GPU and why?
- 2017 - GPU Performance for Game Artists
- 2019 - Understanding the anatomy of GPUs using Pokémon
WARNING: Article moved to separate repo to allow users contributions: https://github.com/raysan5/custom_game_engines
A couple of weeks ago I played (and finished) A Plague Tale, a game by Asobo Studio. I was really captivated by the game, not only by the beautiful graphics but also by the story and the locations in the game. I decided to investigate a bit about the game tech and I was surprised to see it was developed with a custom engine by a relatively small studio. I know there are some companies using custom engines but it's very difficult to find a detailed market study with that kind of information curated and updated. So this article.
Nowadays lots of companies choose engines like [Unreal](https:
| <?xml version="1.0"?> | |
| <!-- | |
| DualSense (DS5) USB HID Report Descriptor | |
| Documentation WIP | |
| TODO: Extract info from hid-playstation and cross-verify with us. | |
| --> |
This list is an attempt to collect as many free resources about computer graphics- / rendering- techniques, game- / render-engine architecture and optimization techniques. This list doesn't contain every resource that is out there so it'll be expanded in time whenever I find another resource that may help one person or the other.
Self-hosting is the practice of locally hosting and managing applications instead of renting from SaaSS providers.
This is a list of Free Software network services and web applications which can be hosted locally. Non-Free software is listed on the Non-Free page.
See Contributing.
| Copy of deleted topic: https://www.reddit.com/r/gamedev/comments/jumvi5/dualsense_haptics_leds_and_more_hid_output_report/ | |
| --- | |
| outputReport[0] = 0x02; // report type | |
| outputReport[1] = 0xff; // flags determiing what changes this packet will perform | |
| // 0x01 set the main motors (also requires flag 0x02); setting this by itself will allow rumble to gracefully terminate and then re-enable audio haptics, whereas not setting it will kill the rumble instantly and re-enable audio haptics. | |
| // 0x02 set the main motors (also requires flag 0x01; without bit 0x01 motors are allowed to time out without re-enabling audio haptics) | |
| // 0x04 set the right trigger motor |
| # Copyright 2024 Gordon D. Thompson, gord@gordthompson.com | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| /* | |
| * This function assumes the existence of an active Dear ImGui window | |
| */ | |
| void RenderDropShadow(ImTextureID tex_id, float size, ImU8 opacity) | |
| { | |
| ImVec2 p = ImGui::GetWindowPos(); | |
| ImVec2 s = ImGui::GetWindowSize(); | |
| ImVec2 m = {p.x + s.x, p.y + s.y}; | |
| float uv0 = 0.0f; // left/top region | |
| float uv1 = 0.333333f; // leftward/upper region |
