Files
lity3d/Engine/Rendering/graphics_device.h
T
shuiyu1123 2d56cb3bc9 MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2)
外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言
含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
2026-07-10 19:20:40 +08:00

24 lines
768 B
C

#pragma once
#include <d3d11.h>
#include <dxgi.h>
#include <stdint.h>
typedef struct {
ID3D11Device* device;
ID3D11DeviceContext* context;
IDXGISwapChain* swap_chain;
ID3D11RenderTargetView* render_target;
ID3D11DepthStencilView* depth_stencil;
ID3D11Texture2D* depth_texture;
uint32_t width;
uint32_t height;
int vsync;
} GraphicsDevice;
GraphicsDevice* graphics_device_create(void);
void graphics_device_destroy(GraphicsDevice* d);
int graphics_device_init(GraphicsDevice* d, void* hwnd, uint32_t w, uint32_t h, int vsync);
void graphics_device_resize(GraphicsDevice* d, uint32_t w, uint32_t h);
void graphics_device_clear(GraphicsDevice* d, float r, float g, float b, float a);
void graphics_device_present(GraphicsDevice* d);