Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Release

Custom Crosshair & Dynamic FOV circle rendering in DirectX 11

imgui_artisan
UI Designer
MEMBER
Өкіл: 202
Қосылу күні: Apr 2019
Хабарламалар: 54
Рахмет: 28
1 ай бұрын · Jul 25, 2026 4:39 AM
#1

Draw an interactive FOV circle and customizable crosshair with Dear ImGui:

CPP
void DrawHUDOverlay(float fovRadius, ColorRGB crossColor) {
    ImVec2 screenCenter = ImVec2(ImGui::GetIO().DisplaySize.x / 2.0f, ImGui::GetIO().DisplaySize.y / 2.0f);
    ImDrawList* drawList = ImGui::GetBackgroundDrawList();
    
    // Draw FOV boundary circle
    drawList->AddCircle(screenCenter, fovRadius, IM_COL32(255, 255, 255, 120), 64, 1.5f);
    
    // Draw Dot Crosshair with shadow outline
    drawList->AddCircleFilled(screenCenter, 3.5f, IM_COL32(0, 0, 0, 200));
    drawList->AddCircleFilled(screenCenter, 2.0f, IM_COL32(crossColor.r, crossColor.g, crossColor.b, 255));
}
fivem_native_guru
CitizenFX Dev
MEMBER
Өкіл: 182
Қосылу күні: May 2021
Хабарламалар: 8
Рахмет: 69
1 ай бұрын · Jul 25, 2026 6:47 AM
#2

The shadow outline behind the crosshair dot makes it visible against both bright sky and dark night scenes.

matrix_math_guy
Math Specialist
MEMBER
Өкіл: 105
Қосылу күні: Aug 2018
Хабарламалар: 52
Рахмет: 41
4 апта бұрын · Jul 26, 2026 1:02 AM
#3

Using GetBackgroundDrawList() avoids window clipping. Very clean.