rodecomp/Source/Render/DX9/RendererDX9Operations.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

46 lines
1.8 KiB
C++

#ifndef RAGNAROK_SOURCE_RENDER_DX9_RENDERERDX9OPERATIONS_H
#define RAGNAROK_SOURCE_RENDER_DX9_RENDERERDX9OPERATIONS_H
#include <list>
#include <vector>
class CTexture;
struct RenderPrimitive;
struct RenderCommand;
struct DeviceStateDX9;
struct TextureDX9Context;
struct DepthPrimitive;
struct RenderQueues;
struct LightmappedPrimitive;
struct ServiceOptions;
struct RendererFogDX9;
struct FogConfiguration;
class DeviceOwnerDX9;
class CRenderSystemBase;
struct tagRECT;
struct RendererDX9Operations {
TextureDX9Context& context;
DeviceStateDX9& state;
void SetCamera(const float* eye, const float* target, const float* up);
void SetLighting(const float* direction, const float* diffuse, const float* ambient);
void ClearDepth(int clearColor);
void ClearWorld(unsigned color, int mode, unsigned char worldFlag, unsigned overlay);
void SetTextureMode(int mode);
void DrawPrimitive(RenderCommand* primitive);
void DrawLightmappedPrimitive(LightmappedPrimitive* primitive);
void DrawDepthQueue(std::vector<DepthPrimitive>& queue, bool sort);
void DrawOpaqueQueues(RenderQueues& queues);
void DrawGroundQueues(RenderQueues& queues, const ServiceOptions& options, unsigned char multitexture);
void DrawAlphaQueues(RenderQueues& queues, unsigned char twoPass);
void DrawAuxiliaryQueue(RenderQueues& queues);
void DrawQueues(
RenderQueues& queues, const ServiceOptions& options, unsigned char multitexture, unsigned char twoPass, RendererFogDX9& fog, const float& aspect,
const FogConfiguration& configuration
);
bool RenderToTexture(int width, int height, const std::list<RenderPrimitive*>& primitives, CTexture*& texture);
bool SaveScreenshot(DeviceOwnerDX9& owner, CRenderSystemBase* renderSystem, const char* filename, int format, CTexture* overlay, const tagRECT* rectangle);
};
#endif