World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <IRender.h>
Открытые члены | |
IRender () | |
virtual | ~IRender () |
virtual bool | Configure (std::shared_ptr< const IRenderConfig > config) |
virtual bool | Initialize (OSWindow *window)=0 |
virtual Texture * | CreateTexture_ColorKey (const String &name, uint16_t colorkey)=0 |
virtual Texture * | CreateTexture_Solid (const String &name)=0 |
virtual Texture * | CreateTexture_Alpha (const String &name)=0 |
virtual Texture * | CreateTexture_PCXFromFile (const String &name)=0 |
virtual Texture * | CreateTexture_PCXFromIconsLOD (const String &name)=0 |
virtual Texture * | CreateTexture_PCXFromNewLOD (const String &name)=0 |
virtual Texture * | CreateTexture_Blank (unsigned int width, unsigned int height, IMAGE_FORMAT format, const void *pixels=nullptr)=0 |
virtual Texture * | CreateTexture (const String &name)=0 |
virtual Texture * | CreateSprite (const String &name, unsigned int palette_id, unsigned int lod_sprite_id)=0 |
virtual void | ClearBlack ()=0 |
virtual void | PresentBlackScreen ()=0 |
virtual void | SaveWinnersCertificate (const char *a1)=0 |
virtual void | ClearTarget (unsigned int uColor)=0 |
virtual void | Present ()=0 |
virtual bool | InitializeFullscreen ()=0 |
virtual void | CreateZBuffer ()=0 |
virtual void | Release ()=0 |
virtual bool | SwitchToWindow ()=0 |
virtual void | RasterLine2D (int uX, int uY, int uZ, int uW, uint16_t uColor)=0 |
virtual void | ClearZBuffer (int a2, int a3)=0 |
virtual void | RestoreFrontBuffer ()=0 |
virtual void | RestoreBackBuffer ()=0 |
virtual void | BltBackToFontFast (int a2, int a3, Rect *a4)=0 |
virtual void | BeginSceneD3D ()=0 |
virtual unsigned int | GetActorTintColor (int DimLevel, int tint, float WorldViewX, int a5, RenderBillboard *Billboard)=0 |
virtual void | DrawPolygon (struct Polygon *a3)=0 |
virtual void | DrawTerrainPolygon (struct Polygon *a4, bool transparent, bool clampAtTextureBorders)=0 |
virtual void | DrawIndoorPolygon (unsigned int uNumVertices, struct BLVFace *a3, int uPackedID, unsigned int uColor, int a8)=0 |
virtual void | MakeParticleBillboardAndPush (SoftwareBillboard *a2, Texture *texture, unsigned int uDiffuse, int angle)=0 |
virtual void | DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene ()=0 |
virtual void | DrawBillboard_Indoor (SoftwareBillboard *pSoftBillboard, RenderBillboard *billboard)=0 |
virtual void | _4A4CC9_AddSomeBillboard (struct SpellFX_Billboard *a1, int diffuse)=0 |
virtual void | TransformBillboardsAndSetPalettesODM ()=0 |
virtual void | DrawBillboardList_BLV ()=0 |
virtual void | DrawProjectile (float srcX, float srcY, float a3, float a4, float dstX, float dstY, float a7, float a8, Texture *texture)=0 |
virtual void | RemoveTextureFromDevice (Texture *texture)=0 |
virtual bool | MoveTextureToDevice (Texture *texture)=0 |
virtual void | Update_Texture (Texture *texture)=0 |
virtual void | DeleteTexture (Texture *texture)=0 |
virtual void | BeginScene ()=0 |
virtual void | EndScene ()=0 |
virtual void | ScreenFade (unsigned int color, float t)=0 |
virtual void | SetUIClipRect (unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW)=0 |
virtual void | ResetUIClipRect ()=0 |
virtual void | DrawTextureNew (float u, float v, Image *)=0 |
virtual void | DrawTextureAlphaNew (float u, float v, Image *)=0 |
virtual void | DrawTextureCustomHeight (float u, float v, Image *, int height)=0 |
virtual void | DrawTextureOffset (int x, int y, int offset_x, int offset_y, Image *)=0 |
virtual void | DrawImage (Image *, const Rect &rect)=0 |
virtual void | ZBuffer_Fill_2 (signed int a2, signed int a3, Image *pTexture, int a5)=0 |
virtual void | ZDrawTextureAlpha (float u, float v, Image *pTexture, int zVal)=0 |
virtual void | BlendTextures (int a2, int a3, Image *a4, Image *a5, int t, int start_opacity, int end_opacity)=0 |
virtual void | TexturePixelRotateDraw (float u, float v, Image *img, int time)=0 |
virtual void | DrawMonsterPortrait (Rect rc, SpriteFrame *Portrait_Sprite, int Y_Offset)=0 |
virtual void | DrawMasked (float u, float v, Image *img, unsigned int color_dimming_level, uint16_t mask)=0 |
virtual void | DrawTextureGrayShade (float u, float v, Image *a4)=0 |
virtual void | DrawTransparentRedShade (float u, float v, Image *a4)=0 |
virtual void | DrawTransparentGreenShade (float u, float v, Image *pTexture)=0 |
virtual void | DrawFansTransparent (const RenderVertexD3D3 *vertices, unsigned int num_vertices)=0 |
virtual void | DrawTextAlpha (int x, int y, unsigned char *font_pixels, int a5, unsigned int uFontHeight, uint8_t *pPalette, bool present_time_transparency)=0 |
virtual void | DrawText (int uOutX, int uOutY, uint8_t *pFontPixels, unsigned int uCharWidth, unsigned int uCharHeight, uint8_t *pFontPalette, uint16_t uFaceColor, uint16_t uShadowColor)=0 |
virtual void | FillRectFast (unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, unsigned int uColor16)=0 |
virtual void | DrawBuildingsD3D ()=0 |
virtual void | DrawIndoorSky (unsigned int uNumVertices, unsigned int uFaceID=0)=0 |
virtual void | DrawOutdoorSkyD3D ()=0 |
virtual void | PrepareDecorationsRenderList_ODM ()=0 |
virtual void | DrawSpriteObjects_ODM ()=0 |
virtual void | RenderTerrainD3D ()=0 |
virtual bool | AreRenderSurfacesOk ()=0 |
virtual Image * | TakeScreenshot (unsigned int width, unsigned int height)=0 |
virtual void | SaveScreenshot (const String &filename, unsigned int width, unsigned int height)=0 |
virtual void | PackScreenshot (unsigned int width, unsigned int height, void *out_data, unsigned int data_size, unsigned int *screenshot_size)=0 |
virtual void | SavePCXScreenshot ()=0 |
virtual int | GetActorsInViewport (int pDepth)=0 |
virtual void | BeginLightmaps ()=0 |
virtual void | EndLightmaps ()=0 |
virtual void | BeginLightmaps2 ()=0 |
virtual void | EndLightmaps2 ()=0 |
virtual bool | DrawLightmap (struct Lightmap *pLightmap, struct Vec3_float_ *pColorMult, float z_bias)=0 |
virtual void | BeginDecals ()=0 |
virtual void | EndDecals ()=0 |
virtual void | DrawDecal (struct Decal *pDecal, float z_bias)=0 |
virtual void | do_draw_debug_line_d3d (const RenderVertexD3D3 *pLineBegin, signed int sDiffuseBegin, const RenderVertexD3D3 *pLineEnd, signed int sDiffuseEnd, float z_stuff)=0 |
virtual void | DrawLines (const RenderVertexD3D3 *vertices, unsigned int num_vertices)=0 |
virtual void | DrawSpecialEffectsQuad (const RenderVertexD3D3 *vertices, Texture *texture)=0 |
virtual void | am_Blt_Chroma (struct Rect *pSrcRect, struct Point *pTargetPoint, int a3, int blend_mode)=0 |
void | ToggleTint () |
void | ToggleColoredLights () |
void | SetUsingSpecular (bool is_using_specular) |
void | SetUsingFog (bool is_using_fog) |
bool | IsUsingSpecular () const |
virtual void | WritePixel16 (int x, int y, uint16_t color)=0 |
virtual unsigned int | GetRenderWidth () const =0 |
virtual unsigned int | GetRenderHeight () const =0 |
virtual HWLTexture * | LoadHwlBitmap (const String &name)=0 |
virtual HWLTexture * | LoadHwlSprite (const String &name)=0 |
Открытые атрибуты | |
std::shared_ptr< const IRenderConfig > | config |
int * | pActiveZBuffer |
uint32_t | uFogColor |
unsigned int | pHDWaterBitmapIDs [7] |
int | hd_water_current_frame |
int | hd_water_tile_id |
Texture * | hd_water_tile_anim [7] |
void(* | pBeforePresentFunction )() |
RenderBillboardD3D | pBillboardRenderListD3D [1000] |
unsigned int | uNumBillboardsToDraw |
Log * | log = nullptr |
DecalBuilder * | decal_builder = nullptr |
SpellFxRenderer * | spell_fx_renderer = nullptr |
LightmapBuilder * | lightmap_builder = nullptr |
ParticleEngine * | particle_engine = nullptr |
Vis * | vis = nullptr |
|
inline |
См. определение в файле IRender.h строка 197
Перекрестные ссылки decal_builder, hd_water_current_frame, hd_water_tile_id, lightmap_builder, log, pActiveZBuffer, particle_engine, pBeforePresentFunction, pBillboardRenderListD3D, pHDWaterBitmapIDs, Engine_::IocContainer::ResolveDecalBuilder(), Engine_::IocContainer::ResolveLightmapBuilder(), Engine_::IocContainer::ResolveLogger(), Engine_::IocContainer::ResolveParticleEngine(), Engine_::IocContainer::ResolveSpellFxRenderer(), Engine_::IocContainer::ResolveVis(), spell_fx_renderer, uFogColor, uNumBillboardsToDraw и vis.
|
inlinevirtual |
|
pure virtual |
Замещается в Render, RenderOpenGL и RenderBase.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Используется в RenderBase::PostInitialization().
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Используется в RenderBase::PostInitialization().
Замещается в Render.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Используется в RenderBase::TransformBillboard().
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderBase.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderBase.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderOpenGL и Render.
|
pure virtual |
Замещается в RenderOpenGL и Render.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderBase.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
inline |
См. определение в файле IRender.h строка 388
Перекрестные ссылки Graphics::IRenderConfigFactory::Clone().
|
inline |
См. определение в файле IRender.h строка 395
Перекрестные ссылки Graphics::IRenderConfigFactory::Clone().
|
inline |
См. определение в файле IRender.h строка 402
Перекрестные ссылки Graphics::IRenderConfigFactory::Clone().
Используется в Render::BeginSceneD3D().
|
inline |
См. определение в файле IRender.h строка 409
Перекрестные ссылки Graphics::IRenderConfigFactory::Clone().
Используется в RenderOpenGL::DoRenderBillboards_D3D(), RenderOpenGL::SetBillboardBlendOptions() и Render::SetBillboardBlendOptions().
|
inline |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в Render и RenderOpenGL.
|
pure virtual |
Замещается в RenderBase.
|
pure virtual |
Замещается в RenderBase.
std::shared_ptr<const IRenderConfig> IRender::config |
См. определение в файле IRender.h строка 420
Используется в Configure().
int* IRender::pActiveZBuffer |
См. определение в файле IRender.h строка 421
Используется в RenderOpenGL::ClearZBuffer(), Render::ClearZBuffer(), RenderOpenGL::CreateZBuffer(), Render::CreateZBuffer(), IRender(), Render::Render(), RenderOpenGL::ZDrawTextureAlpha() и Render::ZDrawTextureAlpha().
uint32_t IRender::uFogColor |
См. определение в файле IRender.h строка 422
Используется в Render::BeginSceneD3D(), Render::EndLightmaps() и IRender().
unsigned int IRender::pHDWaterBitmapIDs[7] |
int IRender::hd_water_current_frame |
См. определение в файле IRender.h строка 424
Используется в Render::DrawBorderTiles(), IRender(), Render::Render(), RenderOpenGL::RenderTerrainD3D() и Render::RenderTerrainD3D().
int IRender::hd_water_tile_id |
См. определение в файле IRender.h строка 425
Используется в IRender() и Render::Render().
Texture* IRender::hd_water_tile_anim[7] |
См. определение в файле IRender.h строка 426
Используется в Render::DrawBorderTiles(), RenderOpenGL::RenderTerrainD3D() и Render::RenderTerrainD3D().
void(* IRender::pBeforePresentFunction) () |
См. определение в файле IRender.h строка 427
Используется в Render::InitializeFullscreen(), IRender(), Render::Present() и Render::SwitchToWindow().
RenderBillboardD3D IRender::pBillboardRenderListD3D[1000] |
См. определение в файле IRender.h строка 428
Используется в Render::_4A4CC9_AddSomeBillboard(), RenderBase::Billboard_ProbablyAddToListAndSortByZOrder(), RenderOpenGL::DoRenderBillboards_D3D(), Render::DoRenderBillboards_D3D(), RenderOpenGL::DrawBillboard_Indoor(), Render::DrawBillboard_Indoor(), IRender(), RenderBase::MakeParticleBillboardAndPush() и RenderBase::TransformBillboard().
unsigned int IRender::uNumBillboardsToDraw |
См. определение в файле IRender.h строка 429
Используется в RenderBase::Billboard_ProbablyAddToListAndSortByZOrder(), RenderOpenGL::DoRenderBillboards_D3D(), Render::DoRenderBillboards_D3D(), RenderOpenGL::DrawBillboardList_BLV(), Render::DrawBillboardList_BLV(), RenderBase::DrawSpriteObjects_ODM(), IRender(), RenderOpenGL::PrepareDecorationsRenderList_ODM(), Render::PrepareDecorationsRenderList_ODM(), Render::Render() и RenderBase::TransformBillboardsAndSetPalettesODM().
Log* IRender::log = nullptr |
См. определение в файле IRender.h строка 431
Используется в Render::DrawDecal(), RenderOpenGL::DrawImage(), Render::DrawLightmap(), RenderOpenGL::DrawPolygon(), RenderOpenGL::DrawTextureNew(), RenderOpenGL::FillRectFast(), IRender(), RenderOpenGL::MoveTextureToDevice(), RenderOpenGL::SetBillboardBlendOptions(), Render::SetBillboardBlendOptions() и RenderOpenGL::Update_Texture().
DecalBuilder* IRender::decal_builder = nullptr |
См. определение в файле IRender.h строка 432
Используется в Render::DrawBuildingsD3D(), IRender() и Render::RenderTerrainD3D().
SpellFxRenderer* IRender::spell_fx_renderer = nullptr |
См. определение в файле IRender.h строка 433
Используется в RenderOpenGL::DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene(), Render::DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene(), RenderBase::DrawSpriteObjects_ODM(), IRender(), RenderOpenGL::PrepareDecorationsRenderList_ODM() и Render::PrepareDecorationsRenderList_ODM().
LightmapBuilder* IRender::lightmap_builder = nullptr |
См. определение в файле IRender.h строка 434
Используется в Render::DrawBuildingsD3D(), RenderOpenGL::DrawIndoorPolygon(), Render::DrawIndoorPolygon(), RenderOpenGL::DrawPolygon(), Render::DrawPolygon(), Render::DrawTerrainPolygon(), IRender() и Render::RenderTerrainD3D().
ParticleEngine* IRender::particle_engine = nullptr |
См. определение в файле IRender.h строка 435
Используется в IRender(), RenderOpenGL::PrepareDecorationsRenderList_ODM() и Render::PrepareDecorationsRenderList_ODM().
Vis* IRender::vis = nullptr |
См. определение в файле IRender.h строка 436
Используется в Render::GetActorsInViewport() и IRender().