00001
00005 #pragma once
00006 #include "Engine.h"
00007 #include "UnRender.h"
00008 #include "d3d.h"
00009 class UD3D10RenderDevice:public URenderDevice
00010 {
00011
00012
00013 #if (UNREALTOURNAMENT || RUNE)
00014 DECLARE_CLASS(UD3D10RenderDevice,URenderDevice,CLASS_Config,D3D10Drv)
00015 #else
00016 DECLARE_CLASS(UD3D10RenderDevice,URenderDevice,CLASS_Config)
00017 #endif
00018
00019 private:
00020 D3D::Options D3DOptions;
00021
00022 public:
00025 static void debugs(char *s);
00026 int getOption(TCHAR* name,int defaultVal, bool isBool);
00028
00031 UBOOL Init(UViewport *InViewport,INT NewX, INT NewY, INT NewColorBytes, UBOOL Fullscreen);
00032 UBOOL SetRes(INT NewX, INT NewY, INT NewColorBytes, UBOOL Fullscreen);
00033 void Exit();
00034 #if UNREALGOLD || UNREAL
00035 void Flush();
00036 #else
00037 void Flush(UBOOL AllowPrecache);
00038 #endif
00039 void Lock(FPlane FlashScale, FPlane FlashFog, FPlane ScreenClear, DWORD RenderLockFlags, BYTE* HitData, INT* HitSize );
00040 void Unlock(UBOOL Blit );
00041 void DrawComplexSurface(FSceneNode* Frame, FSurfaceInfo& Surface, FSurfaceFacet& Facet );
00042 void DrawGouraudPolygon( FSceneNode* Frame, FTextureInfo& Info, FTransTexture** Pts, int NumPts, DWORD PolyFlags, FSpanBuffer* Span );
00043 void DrawTile( FSceneNode* Frame, FTextureInfo& Info, FLOAT X, FLOAT Y, FLOAT XL, FLOAT YL, FLOAT U, FLOAT V, FLOAT UL, FLOAT VL, class FSpanBuffer* Span, FLOAT Z, FPlane Color, FPlane Fog, DWORD PolyFlags );
00044 void Draw2DLine( FSceneNode* Frame, FPlane Color, DWORD LineFlags, FVector P1, FVector P2 );
00045 void Draw2DPoint( FSceneNode* Frame, FPlane Color, DWORD LineFlags, FLOAT X1, FLOAT Y1, FLOAT X2, FLOAT Y2, FLOAT Z );
00046 void ClearZ( FSceneNode* Frame );
00047 void PushHit( const BYTE* Data, INT Count );
00048 void PopHit( INT Count, UBOOL bForce );
00049 void GetStats( TCHAR* Result );
00050 void ReadPixels( FColor* Pixels );
00052
00055 UBOOL Exec(const TCHAR* Cmd, FOutputDevice& Ar);
00056 void SetSceneNode( FSceneNode* Frame );
00057 void PrecacheTexture( FTextureInfo& Info, DWORD PolyFlags );
00058 void EndFlash();
00059 void StaticConstructor();
00060 #ifdef UNREAL
00061 void Precache(ULevel* Level);
00062 #endif
00063
00064 };