核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2) 外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言 含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
24 lines
768 B
C
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);
|