World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <LightmapBuilder.h>
Открытые члены | |
LightmapBuilder () | |
virtual | ~LightmapBuilder () |
void | Draw_183808_Lightmaps () |
bool | DoDraw_183808_Lightmaps (float a2) |
void | DrawLightmaps (int indices) |
void | DrawLightmapsType (int type) |
void | DrawDebugOutlines (char bit_one_for_list1__bit_two_for_list2) |
double | _45D643_sw (struct Edge *a1, float a2) |
bool | StackLight_TerrainFace (struct StationaryLight *pLight, struct Vec3_float_ *pNormal, float *a3, struct RenderVertexSoft *a1, unsigned int uStripType, int X, unsigned int *pSlot) |
bool | StackLights_TerrainFace (struct Vec3_float_ *pNormal, float *a3, struct RenderVertexSoft *a1, unsigned int uStripType, bool bLightBackfaces) |
bool | ApplyLight_ODM (struct StationaryLight *pLight, struct ODMFace *pFace, unsigned int *pSlot, bool bLightBackfaces) |
bool | ApplyLights_OutdoorFace (struct ODMFace *pFace) |
double | _45CC0C_light (struct Vec3_float_ a1, float a2, float a3, struct Vec3_float_ *pNormal, float a5, int uLightType) |
int | _45CBD4 (struct RenderVertexSoft *a2, int a3, int *a4, int *a5) |
int | _45CB89 (struct RenderVertexSoft *a1, int a2) |
int | _45CA88 (struct LightsData *a2, struct RenderVertexSoft *a3, int a4, struct Vec3_float_ *pNormal) |
bool | ApplyLight_BLV (struct StationaryLight *pLight, struct BLVFace *a2, unsigned int *pSlot, bool bLightBackfaces, char *a5) |
bool | ApplyLights_IndoorFace (unsigned int uFaceID) |
int | _45C6D6 (int a2, struct RenderVertexSoft *a3, Lightmap *pLightmap) |
int | _45C4B9 (int a2, struct RenderVertexSoft *a3, Lightmap *pLightmap) |
bool | _45BE86_build_light_polygon (Vec3_int_ *pos, float radius, unsigned int uColorMask, float dot_dist, int uLightType, struct stru314 *a7, unsigned int uNumVertices, RenderVertexSoft *a9, char uClipFlag) |
bool | ApplyLights (struct LightsData *a2, struct stru154 *a3, unsigned int uNumVertices, struct RenderVertexSoft *a5, struct IndoorCameraD3D_Vec4 *, char uClipFlag) |
Открытые атрибуты | |
Lightmap | StationaryLights [512] |
unsigned int | StationaryLightsCount |
Lightmap | MobileLights [768] |
unsigned int | MobileLightsCount |
float | light_length_x |
float | light_length_y |
float | light_length_z |
float | light_length_x2 |
float | light_length_y2 |
float | light_length_z2 |
float | tex_light_radius |
float | flt_3C8C28 |
float | flt_3C8C2C_lightmaps_brightness |
float | light_radius |
RenderVertexSoft | field_3C8C34 [256] |
int | uFlags |
Log * | log = nullptr |
См. определение в файле LightmapBuilder.h строка 33
LightmapBuilder::LightmapBuilder | ( | ) |
См. определение в файле LightmapBuilder.cpp строка 29
Перекрестные ссылки field_3C8C34, log, MobileLights, MobileLightsCount, Engine_::IocContainer::ResolveLogger(), StationaryLights и StationaryLightsCount.
|
inlinevirtual |
См. определение в файле LightmapBuilder.h строка 36
void LightmapBuilder::Draw_183808_Lightmaps | ( | ) |
См. определение в файле LightmapBuilder.cpp строка 835
Перекрестные ссылки DoDraw_183808_Lightmaps(), MobileLightsCount и render.
Используется в DrawLightmapsType().
bool LightmapBuilder::DoDraw_183808_Lightmaps | ( | float | a2 | ) |
См. определение в файле LightmapBuilder.cpp строка 344
Перекрестные ссылки MobileLights, MobileLightsCount и render.
Используется в Draw_183808_Lightmaps().
void LightmapBuilder::DrawLightmaps | ( | int | indices | ) |
См. определение в файле LightmapBuilder.cpp строка 802
Перекрестные ссылки _4D864C_force_sw_render_rules, __debugbreak(), engine, MobileLights, MobileLightsCount, render, StationaryLights, StationaryLightsCount, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в Render::DrawIndoorPolygon(), Render::DrawPolygon() и Render::DrawTerrainPolygon().
void LightmapBuilder::DrawLightmapsType | ( | int | type | ) |
См. определение в файле LightmapBuilder.cpp строка 796
Перекрестные ссылки Draw_183808_Lightmaps().
Используется в Engine::Draw().
void LightmapBuilder::DrawDebugOutlines | ( | char | bit_one_for_list1__bit_two_for_list2 | ) |
См. определение в файле LightmapBuilder.cpp строка 1077
Перекрестные ссылки IndoorCameraD3D::debug_outline_sw(), MobileLightsCount, pIndoorCameraD3D и StationaryLightsCount.
Используется в Engine::draw_debug_outlines().
double LightmapBuilder::_45D643_sw | ( | struct Edge * | a1, |
float | a2 | ||
) |
bool LightmapBuilder::StackLight_TerrainFace | ( | struct StationaryLight * | pLight, |
struct Vec3_float_ * | pNormal, | ||
float * | a3, | ||
struct RenderVertexSoft * | a1, | ||
unsigned int | uStripType, | ||
int | X, | ||
unsigned int * | pSlot | ||
) |
См. определение в файле LightmapBuilder.cpp строка 74
Перекрестные ссылки _4E94D2_light_type, LightsData::_blv_lights_bs, LightsData::_blv_lights_gs, LightsData::_blv_lights_inv_radii, LightsData::_blv_lights_light_dot_faces, LightsData::_blv_lights_radii, LightsData::_blv_lights_rs, LightsData::_blv_lights_types, LightsData::_blv_lights_xs, LightsData::_blv_lights_ys, LightsData::_blv_lights_zs, IndoorCameraD3D::GetPolygonMaxZ(), IndoorCameraD3D::GetPolygonMinZ(), Lights, log, Vec3_float_::NegDot(), pIndoorCameraD3D, render, StationaryLight::uLightColorB, StationaryLight::uLightColorG, StationaryLight::uLightColorR, StationaryLight::uLightType, StationaryLight::uRadius, StationaryLight::vPosition, RenderVertexSoft::vWorldPosition, Log::Warning(), Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в StackLights_TerrainFace().
bool LightmapBuilder::StackLights_TerrainFace | ( | struct Vec3_float_ * | pNormal, |
float * | a3, | ||
struct RenderVertexSoft * | a1, | ||
unsigned int | uStripType, | ||
bool | bLightBackfaces | ||
) |
См. определение в файле LightmapBuilder.cpp строка 465
Перекрестные ссылки Lights, OutdoorLocation::max_terrain_dimming_level, LightsStack_StationaryLight_::pLights, LightsStack_MobileLight_::pLights, pMobileLightsStack, pOutdoor, pStationaryLightsStack, StackLight_TerrainFace(), LightsData::uCurrentAmbientLightLevel, LightsStack_StationaryLight_::uNumLightsActive, LightsStack_MobileLight_::uNumLightsActive и LightsData::uNumLightsApplied.
Используется в Render::RenderTerrainD3D().
bool LightmapBuilder::ApplyLight_ODM | ( | struct StationaryLight * | pLight, |
struct ODMFace * | pFace, | ||
unsigned int * | pSlot, | ||
bool | bLightBackfaces | ||
) |
См. определение в файле LightmapBuilder.cpp строка 192
Перекрестные ссылки _4E94D2_light_type, __debugbreak(), LightsData::_blv_lights_bs, LightsData::_blv_lights_gs, LightsData::_blv_lights_inv_radii, LightsData::_blv_lights_light_dot_faces, LightsData::_blv_lights_radii, LightsData::_blv_lights_rs, LightsData::_blv_lights_types, LightsData::_blv_lights_xs, LightsData::_blv_lights_ys, LightsData::_blv_lights_zs, Plane_int_::dist, Lights, ODMFace::pBoundingBox, ODMFace::pFacePlane, render, StationaryLight::uLightColorB, StationaryLight::uLightColorG, StationaryLight::uLightColorR, StationaryLight::uLightType, StationaryLight::uRadius, Plane_int_::vNormal, StationaryLight::vPosition, BBox_short_::x1, BBox_short_::x2, BBox_short_::y1, BBox_short_::y2, BBox_short_::z1 и BBox_short_::z2.
Используется в ApplyLights_OutdoorFace().
bool LightmapBuilder::ApplyLights_OutdoorFace | ( | struct ODMFace * | pFace | ) |
См. определение в файле LightmapBuilder.cpp строка 48
Перекрестные ссылки ApplyLight_ODM(), Lights, LightsStack_StationaryLight_::pLights, LightsStack_MobileLight_::pLights, pMobileLightsStack, pStationaryLightsStack, LightsData::uCurrentAmbientLightLevel, LightsData::uDefaultAmbientLightLevel, LightsStack_StationaryLight_::uNumLightsActive, LightsStack_MobileLight_::uNumLightsActive, LightsData::uNumLightsApplied и ODMFace::uShadeType.
Используется в Render::DrawBuildingsD3D().
double LightmapBuilder::_45CC0C_light | ( | struct Vec3_float_ | a1, |
float | a2, | ||
float | a3, | ||
struct Vec3_float_ * | pNormal, | ||
float | a5, | ||
int | uLightType | ||
) |
См. определение в файле LightmapBuilder.cpp строка 1001
Перекрестные ссылки __debugbreak(), dword_4D86D8, int_get_vector_length(), log, Vec3_float_::Normalize(), Log::Warning(), Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в _45CA88().
int LightmapBuilder::_45CBD4 | ( | struct RenderVertexSoft * | a2, |
int | a3, | ||
int * | a4, | ||
int * | a5 | ||
) |
См. определение в файле LightmapBuilder.cpp строка 969
Перекрестные ссылки __debugbreak().
Используется в _45CA88().
int LightmapBuilder::_45CB89 | ( | struct RenderVertexSoft * | a1, |
int | a2 | ||
) |
См. определение в файле LightmapBuilder.cpp строка 918
Перекрестные ссылки __debugbreak() и RenderVertexSoft::flt_2C.
int LightmapBuilder::_45CA88 | ( | struct LightsData * | a2, |
struct RenderVertexSoft * | a3, | ||
int | a4, | ||
struct Vec3_float_ * | pNormal | ||
) |
См. определение в файле LightmapBuilder.cpp строка 848
Перекрестные ссылки _45CBD4(), _45CC0C_light(), __debugbreak(), LightsData::_blv_lights_types, LightsData::_blv_lights_ys, dword_69B010, RenderVertexSoft::flt_2C, LightsData::uNumLightsApplied, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
bool LightmapBuilder::ApplyLight_BLV | ( | struct StationaryLight * | pLight, |
struct BLVFace * | a2, | ||
unsigned int * | pSlot, | ||
bool | bLightBackfaces, | ||
char * | a5 | ||
) |
См. определение в файле LightmapBuilder.cpp строка 299
Перекрестные ссылки LightsData::_blv_lights_bs, LightsData::_blv_lights_gs, LightsData::_blv_lights_inv_radii, LightsData::_blv_lights_light_dot_faces, LightsData::_blv_lights_radii, LightsData::_blv_lights_rs, LightsData::_blv_lights_types, LightsData::_blv_lights_xs, LightsData::_blv_lights_ys, LightsData::_blv_lights_zs, Plane_float_::dist, Lights, BLVFace::pBounding, BLVFace::pFacePlane, StationaryLight::uLightColorB, StationaryLight::uLightColorG, StationaryLight::uLightColorR, StationaryLight::uLightType, StationaryLight::uRadius, Plane_float_::vNormal, StationaryLight::vPosition, Vec3_float_::x, BBox_short_::x1, BBox_short_::x2, Vec3_float_::y, BBox_short_::y1, BBox_short_::y2, Vec3_float_::z, BBox_short_::z1 и BBox_short_::z2.
Используется в ApplyLights_IndoorFace().
bool LightmapBuilder::ApplyLights_IndoorFace | ( | unsigned int | uFaceID | ) |
См. определение в файле LightmapBuilder.cpp строка 261
Перекрестные ссылки _4E94D0_light_type, ApplyLight_BLV(), Lights, IndoorLocation::pFaces, pIndoor, LightsStack_StationaryLight_::pLights, LightsStack_MobileLight_::pLights, BLVSector::pLights, IndoorLocation::pLights, pMobileLightsStack, IndoorLocation::pSectors, pStationaryLightsStack, BLVLightMM7::uAtributes, LightsData::uCurrentAmbientLightLevel, LightsData::uDefaultAmbientLightLevel, BLVSector::uMinAmbientLightLevel, BLVSector::uNumLights, LightsStack_StationaryLight_::uNumLightsActive, LightsStack_MobileLight_::uNumLightsActive, LightsData::uNumLightsApplied и BLVFace::uSectorID.
Используется в IndoorLocation::ExecDraw_d3d().
int LightmapBuilder::_45C6D6 | ( | int | a2, |
struct RenderVertexSoft * | a3, | ||
Lightmap * | pLightmap | ||
) |
См. определение в файле LightmapBuilder.cpp строка 731
Перекрестные ссылки Lightmap::NumVertices, Lightmap::pVertices, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в _45BE86_build_light_polygon().
int LightmapBuilder::_45C4B9 | ( | int | a2, |
struct RenderVertexSoft * | a3, | ||
Lightmap * | pLightmap | ||
) |
См. определение в файле LightmapBuilder.cpp строка 359
Перекрестные ссылки Lightmap::NumVertices, Lightmap::pVertices, RenderVertexSoft::vWorldPosition, Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в _45BE86_build_light_polygon().
bool LightmapBuilder::_45BE86_build_light_polygon | ( | Vec3_int_ * | pos, |
float | radius, | ||
unsigned int | uColorMask, | ||
float | dot_dist, | ||
int | uLightType, | ||
struct stru314 * | a7, | ||
unsigned int | uNumVertices, | ||
RenderVertexSoft * | a9, | ||
char | uClipFlag | ||
) |
См. определение в файле LightmapBuilder.cpp строка 561
Перекрестные ссылки IndoorCameraD3D::_437143(), _45C4B9(), _45C6D6(), stru314::dist, engine, Lightmap::fBrightness, stru314::field_10, stru314::field_1C, field_3C8C34, flt_3C8C28, flt_3C8C2C_lightmaps_brightness, flt_4D86CC, int_get_vector_length(), LEVEL_Outdoor, light_length_x, light_length_x2, light_length_y, light_length_y2, light_length_z, light_length_z2, light_radius, IndoorCameraD3D::LightmapFarClip(), IndoorCameraD3D::LightmapNeerClip(), log, stru314::Normal, Vec3_float_::Normalize(), Lightmap::NumVertices, pIndoorCameraD3D, Lightmap::position_x, Lightmap::position_y, Lightmap::position_z, IndoorCameraD3D::Project(), Lightmap::pVertices, StationaryLights, StationaryLightsCount, tex_light_radius, RenderVertexSoft::u, Lightmap::uColorMask, uCurrentlyLoadedLevelType, RenderVertexSoft::v, IndoorCameraD3D::ViewTransform(), RenderVertexSoft::vWorldPosition, Log::Warning(), Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в ApplyLights().
bool LightmapBuilder::ApplyLights | ( | struct LightsData * | a2, |
struct stru154 * | a3, | ||
unsigned int | uNumVertices, | ||
struct RenderVertexSoft * | a5, | ||
struct IndoorCameraD3D_Vec4 * | a6, | ||
char | uClipFlag | ||
) |
См. определение в файле LightmapBuilder.cpp строка 494
Перекрестные ссылки IndoorCameraD3D::_437376(), _45BE86_build_light_polygon(), LightsData::_blv_lights_bs, LightsData::_blv_lights_gs, LightsData::_blv_lights_light_dot_faces, LightsData::_blv_lights_radii, LightsData::_blv_lights_rs, LightsData::_blv_lights_types, LightsData::_blv_lights_xs, LightsData::_blv_lights_ys, LightsData::_blv_lights_zs, stru314::dist, Plane_float_::dist, Engine_DeinitializeAndTerminate(), stru154::face_plane, stru314::field_10, stru314::field_1C, IndoorCameraD3D::GetFacetOrientation(), log, stru314::Normal, pIndoorCameraD3D, stru154::polygonType, LightsData::uNumLightsApplied, Plane_float_::vNormal, Log::Warning(), Vec3_float_::x, Vec3_float_::y и Vec3_float_::z.
Используется в Render::DrawBuildingsD3D(), IndoorLocation::ExecDraw_d3d() и Render::RenderTerrainD3D().
Lightmap LightmapBuilder::StationaryLights[512] |
См. определение в файле LightmapBuilder.h строка 82
Используется в _45BE86_build_light_polygon(), DrawLightmaps() и LightmapBuilder().
unsigned int LightmapBuilder::StationaryLightsCount |
См. определение в файле LightmapBuilder.h строка 83
Используется в Engine::_44EEA7(), _45BE86_build_light_polygon(), Render::DrawBuildingsD3D(), DrawDebugOutlines(), RenderOpenGL::DrawIndoorPolygon(), Render::DrawIndoorPolygon(), DrawLightmaps(), RenderOpenGL::DrawPolygon(), Render::DrawPolygon(), Render::DrawTerrainPolygon(), IndoorLocation::ExecDraw_d3d(), LightmapBuilder() и Render::RenderTerrainD3D().
Lightmap LightmapBuilder::MobileLights[768] |
См. определение в файле LightmapBuilder.h строка 84
Используется в DoDraw_183808_Lightmaps(), DrawLightmaps() и LightmapBuilder().
unsigned int LightmapBuilder::MobileLightsCount |
См. определение в файле LightmapBuilder.h строка 85
Используется в Engine::_44EEA7(), DoDraw_183808_Lightmaps(), Draw_183808_Lightmaps(), DrawDebugOutlines(), DrawLightmaps() и LightmapBuilder().
float LightmapBuilder::light_length_x |
См. определение в файле LightmapBuilder.h строка 86
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_length_y |
См. определение в файле LightmapBuilder.h строка 87
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_length_z |
См. определение в файле LightmapBuilder.h строка 88
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_length_x2 |
См. определение в файле LightmapBuilder.h строка 89
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_length_y2 |
См. определение в файле LightmapBuilder.h строка 90
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_length_z2 |
См. определение в файле LightmapBuilder.h строка 91
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::tex_light_radius |
См. определение в файле LightmapBuilder.h строка 92
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::flt_3C8C28 |
См. определение в файле LightmapBuilder.h строка 93
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::flt_3C8C2C_lightmaps_brightness |
См. определение в файле LightmapBuilder.h строка 94
Используется в _45BE86_build_light_polygon().
float LightmapBuilder::light_radius |
См. определение в файле LightmapBuilder.h строка 95
Используется в _45BE86_build_light_polygon().
RenderVertexSoft LightmapBuilder::field_3C8C34[256] |
См. определение в файле LightmapBuilder.h строка 96
Используется в _45BE86_build_light_polygon() и LightmapBuilder().
int LightmapBuilder::uFlags |
См. определение в файле LightmapBuilder.h строка 97
Используется в OutdoorLocation::ExecDraw().
Log* LightmapBuilder::log = nullptr |
См. определение в файле LightmapBuilder.h строка 99
Используется в _45BE86_build_light_polygon(), _45CC0C_light(), ApplyLights(), LightmapBuilder() и StackLight_TerrainFace().