World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <RenderBase.h>
Открытые члены | |
RenderBase () | |
virtual bool | Initialize (OSWindow *window) |
virtual void | TransformBillboardsAndSetPalettesODM () |
virtual void | DrawSpriteObjects_ODM () |
virtual void | MakeParticleBillboardAndPush (SoftwareBillboard *a2, Texture *texture, unsigned int uDiffuse, int angle) |
virtual HWLTexture * | LoadHwlBitmap (const String &name) |
virtual HWLTexture * | LoadHwlSprite (const String &name) |
Открытые члены унаследованные от IRender | |
IRender () | |
virtual | ~IRender () |
virtual bool | Configure (std::shared_ptr< const IRenderConfig > config) |
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 | 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 | 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 | 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 |
Защищенные члены | |
unsigned int | Billboard_ProbablyAddToListAndSortByZOrder (float z) |
void | TransformBillboard (SoftwareBillboard *a2, RenderBillboard *pBillboard) |
void | PostInitialization () |
Защищенные данные | |
OSWindow * | window |
HWLContainer | pD3DBitmaps |
HWLContainer | pD3DSprites |
Дополнительные унаследованные члены | |
Открытые атрибуты унаследованные от IRender | |
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 |
См. определение в файле RenderBase.h строка 6
|
inline |
См. определение в файле RenderBase.h строка 8
|
virtual |
Замещает IRender.
Переопределяется в Render и RenderOpenGL.
См. определение в файле RenderBase.cpp строка 22
Перекрестные ссылки MakeDataPath(), HWLContainer::Open(), pD3DBitmaps и pD3DSprites.
Используется в RenderOpenGL::Initialize() и Render::Initialize().
|
virtual |
Замещает IRender.
См. определение в файле RenderBase.cpp строка 231
Перекрестные ссылки __debugbreak(), SoftwareBillboard::object_pid, pBillboardRenderList, pODMRenderParams, SoftwareBillboard::pTargetZ, pViewport, render, SoftwareBillboard::screen_space_x, SoftwareBillboard::screen_space_y, SoftwareBillboard::screen_space_z, SoftwareBillboard::screenspace_projection_factor_x, SoftwareBillboard::screenspace_projection_factor_y, SoftwareBillboard::sParentBillboardID, SoftwareBillboard::sTintColor, TransformBillboard(), SoftwareBillboard::uFlags, ODMRenderParams::uNumBillboards, IRender::uNumBillboardsToDraw, Viewport::uViewportBR_X, Viewport::uViewportBR_Y, Viewport::uViewportTL_X, Viewport::uViewportTL_Y, SoftwareBillboard::uViewportW, SoftwareBillboard::uViewportX, SoftwareBillboard::uViewportY и SoftwareBillboard::uViewportZ.
|
virtual |
Замещает IRender.
См. определение в файле RenderBase.cpp строка 109
Перекрестные ссылки _4E94D3_light_type, __debugbreak(), fixed::_internal, LightsStack_MobileLight_::AddLight(), stru193_math::Atan2(), RenderBillboard::dimming_level, RenderBillboard::field_1E, fixpoint_mul(), fixed::GetFloat(), Image::GetHeight(), Image::GetWidth(), SpriteFrame::hw_sprites, RenderBillboard::hwsprite, SpriteFrame::icon_name, ODMRenderParams::int_fov_rad, OBJECT_Item, RenderBillboard::object_pid, pBillboardRenderList, pIndoorCameraD3D, pMobileLightsStack, pODMRenderParams, IndoorCameraD3D::Project(), RenderBillboard::pSpriteFrame, pSpriteObjects, SpellFxRenderer::RenderAsSprite(), SpriteFrame::scale, RenderBillboard::screen_space_x, RenderBillboard::screen_space_y, RenderBillboard::screen_space_z, RenderBillboard::screenspace_projection_factor_x, RenderBillboard::screenspace_projection_factor_y, IRender::spell_fx_renderer, RenderBillboard::sTintColor, stru_5C6E00, Sprite::texture, Sprite::uBufferHeight, SpriteFrame::uFlags, SpriteFrame::uGlowRadius, RenderBillboard::uIndoorSectorID, stru193_math::uIntegerPi, IRender::uNumBillboardsToDraw, uNumSpriteObjects, uNumSpritesDrawnThisFrame, RenderBillboard::uPalette, SpriteFrame::uPaletteIndex, IndoorCameraD3D::ViewClip(), IndoorCameraD3D::vPartyPos, RenderBillboard::world_x, RenderBillboard::world_y, RenderBillboard::world_z, Vec2< T >::x и Vec2< T >::y.
|
virtual |
Замещает IRender.
См. определение в файле RenderBase.cpp строка 377
Перекрестные ссылки Billboard_ProbablyAddToListAndSortByZOrder(), RenderVertexD3D3::diffuse, SoftwareBillboard::field_44, RenderBillboardD3D::field_90, IndoorCameraD3D::GetFarClip(), RenderBillboardD3D::object_pid, SoftwareBillboard::object_pid, RenderBillboardD3D::opacity, RenderBillboardD3D::Opaque_1, IRender::pBillboardRenderListD3D, pIndoorCameraD3D, RenderVertexD3D3::pos, RenderBillboardD3D::pQuads, RenderVertexD3D3::rhw, SoftwareBillboard::screen_space_x, SoftwareBillboard::screen_space_y, RenderBillboardD3D::screen_space_z, SoftwareBillboard::screen_space_z, SoftwareBillboard::screenspace_projection_factor_x, RenderBillboardD3D::sParentBillboardID, SoftwareBillboard::sParentBillboardID, RenderVertexD3D3::specular, RenderVertexD3D3::texcoord, RenderBillboardD3D::texture, RenderBillboardD3D::uNumVertices, Vec3_float_::x, Vec3_float_::y, Vec3_float_::z и RenderBillboardD3D::z_order.
|
virtual |
Замещает IRender.
См. определение в файле RenderBase.cpp строка 454
Перекрестные ссылки HWLContainer::LoadTexture() и pD3DBitmaps.
|
virtual |
Замещает IRender.
См. определение в файле RenderBase.cpp строка 458
Перекрестные ссылки HWLContainer::LoadTexture() и pD3DSprites.
|
protected |
См. определение в файле RenderBase.cpp строка 49
Перекрестные ссылки IRender::pBillboardRenderListD3D, render и IRender::uNumBillboardsToDraw.
Используется в Render::_4A4CC9_AddSomeBillboard(), RenderOpenGL::DrawBillboard_Indoor(), Render::DrawBillboard_Indoor(), MakeParticleBillboardAndPush() и TransformBillboard().
|
protected |
См. определение в файле RenderBase.cpp строка 277
Перекрестные ссылки __debugbreak(), Billboard_ProbablyAddToListAndSortByZOrder(), BlendColors(), RenderVertexD3D3::diffuse, RenderBillboard::dimming_level, SoftwareBillboard::field_44, RenderBillboardD3D::field_90, IRender::GetActorTintColor(), IndoorCameraD3D::GetFarClip(), Image::GetHeight(), Image::GetWidth(), RenderBillboard::hwsprite, RenderBillboardD3D::object_pid, SoftwareBillboard::object_pid, RenderBillboardD3D::opacity, RenderBillboardD3D::Opaque_3, IRender::pBillboardRenderListD3D, pIndoorCameraD3D, RenderVertexD3D3::pos, RenderBillboardD3D::pQuads, RenderVertexD3D3::rhw, SoftwareBillboard::screen_space_x, SoftwareBillboard::screen_space_y, RenderBillboardD3D::screen_space_z, SoftwareBillboard::screen_space_z, SoftwareBillboard::screenspace_projection_factor_x, SoftwareBillboard::screenspace_projection_factor_y, RenderBillboardD3D::sParentBillboardID, SoftwareBillboard::sParentBillboardID, RenderVertexD3D3::specular, SoftwareBillboard::sTintColor, sub_47C3D7_get_fog_specular(), RenderVertexD3D3::texcoord, Sprite::texture, RenderBillboardD3D::texture, RenderBillboardD3D::Transparent, Sprite::uAreaHeight, Sprite::uAreaWidth, Sprite::uAreaX, Sprite::uAreaY, Sprite::uBufferHeight, Sprite::uBufferWidth, SoftwareBillboard::uFlags, RenderBillboardD3D::uNumVertices, Vec3_float_::x, Vec3_float_::y, Vec3_float_::z и RenderBillboardD3D::z_order.
Используется в TransformBillboardsAndSetPalettesODM().
|
protected |
См. определение в файле RenderBase.cpp строка 38
Перекрестные ссылки __debugbreak(), IRender::InitializeFullscreen() и IRender::SwitchToWindow().
Используется в RenderOpenGL::Initialize() и Render::Initialize().
|
protected |
См. определение в файле RenderBase.h строка 25
Используется в Render::InitializeFullscreen().
|
protected |
См. определение в файле RenderBase.h строка 32
Используется в Initialize(), LoadHwlBitmap() и Render::LoadHwlBitmap().
|
protected |
См. определение в файле RenderBase.h строка 33
Используется в Initialize(), LoadHwlSprite() и Render::LoadHwlSprite().