class csGraphics3DSoftware : public IGraphics3D, public IHaloRasterizer
long z_buf_size
UByte** line_table
bool do_smaller_rendering
unsigned char* smaller_buffer
int pixel_shift
long dbg_max_polygons_to_draw
long dbg_current_polygon
G3DZBufMode z_buf_mode
FogBuffer* fog_buffers
int width
int height
int width2
int height2
csPixelFormat pfmt
bool cpu_mmx
bool do_mmx
bool rstate_dither
bool rstate_specular
int rstate_mipmap
int DrawMode
csDrawScanline* ScanProc[0x14]
csDrawPIScanline* ScanProcPI[4]
csDrawPIScanlineGouraud* ScanProcPIG[4]
csDrawPIScanlineGouraud* ScanProcPIFX[4]
csDrawScanline* (*ScanProc_Alpha)(csGraphics3DSoftware *This, int alpha)
static csDrawScanline* ScanProc_8_Alpha(csGraphics3DSoftware *This, int alpha)
static csDrawScanline* ScanProc_16_Alpha(csGraphics3DSoftware *This, int alpha)
static csDrawScanline* ScanProc_32_Alpha(csGraphics3DSoftware *This, int alpha)
FogBuffer* find_fog_buffer(CS_ID id)
HRESULT DrawPolygonFlat(G3DPolygonDPF& poly)
struct
unsigned char* BuildIndexedFogTable()
void SetCacheSize(long size)
IGraphics2D* m_piG2D
csIniFile* config
csTextureManagerSoftware* txtmgr
TextureCache* tcache
ISystem* m_piSystem
bool do_lighting
bool do_transp
bool do_textured
bool do_texel_filt
bool do_bilin_filt
bool do_perfect
float zdist_mipmap1
bool rstate_gouraud
int do_interlaced
bool ilace_fastmove
csGraphics3DSoftware(ISystem* piSystem)
virtual ~csGraphics3DSoftware()
void ScanSetup()
STDMETHODIMP Initialize()
STDMETHODIMP Open(char *Title)
STDMETHODIMP Close()
STDMETHODIMP SetDimensions(int width, int height)
STDMETHODIMP BeginDraw(int DrawFlags)
STDMETHODIMP FinishDraw()
STDMETHODIMP Print(csRect *area)
STDMETHODIMP SetZBufMode(G3DZBufMode mode)
STDMETHODIMP DrawPolygon(G3DPolygonDP& poly)
STDMETHODIMP DrawPolygonDebug(G3DPolygonDP& poly)
STDMETHODIMP GetFogMode(G3D_FOGMETHOD& retval)
STDMETHODIMP SetFogMode(G3D_FOGMETHOD fogm)
STDMETHODIMP OpenFogObject(CS_ID id, csFog* fog)
STDMETHODIMP AddFogPolygon(CS_ID id, G3DPolygonAFP& poly, int fogtype)
STDMETHODIMP CloseFogObject(CS_ID id)
STDMETHODIMP DrawLine(csVector3& v1, csVector3& v2, float fov, int color)
STDMETHODIMP StartPolygonFX(ITextureHandle* handle, UInt mode)
STDMETHODIMP FinishPolygonFX()
STDMETHODIMP DrawPolygonFX(G3DPolygonDPFX& poly)
STDMETHODIMP CacheTexture(IPolygonTexture* texture)
void CacheInitTexture(IPolygonTexture* texture)
void CacheSubTexture(IPolygonTexture* texture, int u, int v)
void CacheRectTexture(IPolygonTexture* texture, int minu, int minv, int maxu, int maxv)
STDMETHODIMP UncacheTexture(IPolygonTexture* texture)
STDMETHODIMP SetRenderState(G3D_RENDERSTATEOPTION op, long val)
STDMETHODIMP GetRenderState(G3D_RENDERSTATEOPTION op, long& val)
STDMETHODIMP GetCaps(G3D_CAPS *caps)
STDMETHODIMP GetZBufPoint(int x, int y, unsigned long** retval)
STDMETHODIMP DumpCache(void)
STDMETHODIMP ClearCache(void)
STDMETHODIMP GetWidth(int& retval)
STDMETHODIMP GetHeight(int& retval)
STDMETHODIMP Get2dDriver(IGraphics2D** pi)