World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура Polygon

#include <Polygon.h>

+ Граф связей класса Polygon:

Открытые члены

 Polygon ()
 
void _normalize_v_18 ()
 
bool IsWater () const
 
bool IsWaterAnimDisabled () const
 

Открытые атрибуты

float field_0
 
float field_4
 
float field_8
 
float field_C
 
float field_10
 
unsigned int uNumVertices
 
Vec3_int_ v_18
 
int field_24
 
int sTextureDeltaU
 
int sTextureDeltaV
 
__int16 flags
 
__int16 field_32
 
int field_34
 
struct SkyBillboardStructptr_38
 
Texturetexture
 
Span * _unused_prolly_head
 
Span * _unused_prolly_tail
 
int ** ptr_48
 
unsigned __int16 uTileBitmapID
 
__int16 field_4E
 
__int16 pid
 
__int16 field_52
 
ODMFacepODMFace
 
char dimming_level
 
char field_59
 
char field_5A
 
char field_5B
 
char terrain_grid_z
 
char terrain_grid_x
 
unsigned __int8 uBModelID
 
unsigned __int8 uBModelFaceID
 
Edge * pEdgeList1 [20]
 
unsigned int uEdgeList1Size
 
Edge * pEdgeList2 [20]
 
unsigned int uEdgeList2Size
 
char field_108
 
char field_109
 
char field_10A
 
char field_10B
 

Подробное описание

См. определение в файле Polygon.h строка 14

Конструктор(ы)

◆ Polygon()

Polygon::Polygon ( )
inline

См. определение в файле Polygon.h строка 15

15 { uNumVertices = 0; }

Перекрестные ссылки uNumVertices.

Методы

◆ _normalize_v_18()

void Polygon::_normalize_v_18 ( )

См. определение в файле Render.cpp строка 5598

5598  {
5599  float len = sqrt((double)this->v_18.z * (double)this->v_18.z +
5600  (double)this->v_18.y * (double)this->v_18.y +
5601  (double)this->v_18.x * (double)this->v_18.x);
5602  if (fabsf(len) < 1e-6f) {
5603  v_18.x = 0;
5604  v_18.y = 0;
5605  v_18.z = 65536;
5606  } else {
5607  v_18.x = round_to_int((double)this->v_18.x / len * 65536.0);
5608  v_18.y = round_to_int((double)this->v_18.y / len * 65536.0);
5609  v_18.z = round_to_int((double)this->v_18.z / len * 65536.0);
5610  }
5611 }

Перекрестные ссылки round_to_int() и v_18.

Используется в ODMFace::IsBackfaceNotCulled().

+ Граф вызовов:
+ Граф вызова функции:

◆ IsWater()

bool Polygon::IsWater ( ) const
inline

См. определение в файле Polygon.h строка 22

22 { return this->flags & 2; }

◆ IsWaterAnimDisabled()

bool Polygon::IsWaterAnimDisabled ( ) const
inline

См. определение в файле Polygon.h строка 23

23 { return this->flags & 0x3C00; }

Данные класса

◆ field_0

float Polygon::field_0

См. определение в файле Polygon.h строка 25

◆ field_4

float Polygon::field_4

См. определение в файле Polygon.h строка 26

◆ field_8

float Polygon::field_8

См. определение в файле Polygon.h строка 27

◆ field_C

float Polygon::field_C

См. определение в файле Polygon.h строка 28

◆ field_10

float Polygon::field_10

См. определение в файле Polygon.h строка 29

◆ uNumVertices

◆ v_18

Vec3_int_ Polygon::v_18

См. определение в файле Polygon.h строка 31

Используется в _normalize_v_18(), Render::DrawIndoorSky(), RenderOpenGL::DrawOutdoorSkyD3D(), Render::DrawOutdoorSkyD3D() и ODMFace::IsBackfaceNotCulled().

◆ field_24

int Polygon::field_24

См. определение в файле Polygon.h строка 32

Используется в Render::DrawIndoorSky(), RenderOpenGL::DrawOutdoorSkyD3D() и ODMFace::IsBackfaceNotCulled().

◆ sTextureDeltaU

int Polygon::sTextureDeltaU

См. определение в файле Polygon.h строка 33

Используется в RenderOpenGL::DrawOutdoorSkyD3D() и Render::RenderTerrainD3D().

◆ sTextureDeltaV

int Polygon::sTextureDeltaV

См. определение в файле Polygon.h строка 34

Используется в RenderOpenGL::DrawOutdoorSkyD3D() и Render::RenderTerrainD3D().

◆ flags

__int16 Polygon::flags

См. определение в файле Polygon.h строка 35

Используется в DecalBuilder::ApplyBloodSplatToTerrain(), ODMFace::IsBackfaceNotCulled() и Render::RenderTerrainD3D().

◆ field_32

__int16 Polygon::field_32

См. определение в файле Polygon.h строка 36

Используется в Render::RenderTerrainD3D().

◆ field_34

int Polygon::field_34

См. определение в файле Polygon.h строка 37

◆ ptr_38

struct SkyBillboardStruct* Polygon::ptr_38

См. определение в файле Polygon.h строка 38

Используется в Render::DrawIndoorSky(), RenderOpenGL::DrawOutdoorSkyD3D() и Render::DrawOutdoorSkyD3D().

◆ texture

◆ _unused_prolly_head

Span* Polygon::_unused_prolly_head

См. определение в файле Polygon.h строка 40

◆ _unused_prolly_tail

Span* Polygon::_unused_prolly_tail

См. определение в файле Polygon.h строка 41

◆ ptr_48

int** Polygon::ptr_48

См. определение в файле Polygon.h строка 42

◆ uTileBitmapID

unsigned __int16 Polygon::uTileBitmapID

См. определение в файле Polygon.h строка 43

◆ field_4E

__int16 Polygon::field_4E

См. определение в файле Polygon.h строка 44

◆ pid

__int16 Polygon::pid

См. определение в файле Polygon.h строка 45

Используется в Render::RenderTerrainD3D().

◆ field_52

__int16 Polygon::field_52

См. определение в файле Polygon.h строка 46

◆ pODMFace

ODMFace* Polygon::pODMFace

См. определение в файле Polygon.h строка 47

Используется в Engine::_44EC23_saturate_face_odm(), RenderOpenGL::DrawPolygon(), Render::DrawPolygon() и Render::RenderTerrainD3D().

◆ dimming_level

◆ field_59

char Polygon::field_59

См. определение в файле Polygon.h строка 49

Используется в Engine::_44EC23_saturate_face_odm() и Render::RenderTerrainD3D().

◆ field_5A

char Polygon::field_5A

См. определение в файле Polygon.h строка 50

◆ field_5B

char Polygon::field_5B

См. определение в файле Polygon.h строка 51

◆ terrain_grid_z

char Polygon::terrain_grid_z

См. определение в файле Polygon.h строка 52

◆ terrain_grid_x

char Polygon::terrain_grid_x

См. определение в файле Polygon.h строка 53

◆ uBModelID

unsigned __int8 Polygon::uBModelID

См. определение в файле Polygon.h строка 54

Используется в Render::RenderTerrainD3D().

◆ uBModelFaceID

unsigned __int8 Polygon::uBModelFaceID

См. определение в файле Polygon.h строка 55

Используется в Render::RenderTerrainD3D().

◆ pEdgeList1

Edge* Polygon::pEdgeList1[20]

См. определение в файле Polygon.h строка 56

◆ uEdgeList1Size

unsigned int Polygon::uEdgeList1Size

См. определение в файле Polygon.h строка 57

Используется в RenderOpenGL::DrawTerrainPolygon().

◆ pEdgeList2

Edge* Polygon::pEdgeList2[20]

См. определение в файле Polygon.h строка 58

◆ uEdgeList2Size

unsigned int Polygon::uEdgeList2Size

См. определение в файле Polygon.h строка 59

Используется в RenderOpenGL::DrawTerrainPolygon().

◆ field_108

char Polygon::field_108

См. определение в файле Polygon.h строка 60

◆ field_109

char Polygon::field_109

См. определение в файле Polygon.h строка 61

◆ field_10A

char Polygon::field_10A

См. определение в файле Polygon.h строка 62

◆ field_10B

char Polygon::field_10B

См. определение в файле Polygon.h строка 63


Объявления и описания членов структур находятся в файлах:
round_to_int
int round_to_int(float x)
Definition: OurMath.h:18
len
GLenum GLsizei len
Definition: SDL_opengl_glext.h:2929
Polygon::uNumVertices
unsigned int uNumVertices
Definition: Polygon.h:30
Polygon::v_18
Vec3_int_ v_18
Definition: Polygon.h:31
f
GLfloat f
Definition: SDL_opengl_glext.h:1873
flags
EGLSyncKHR EGLint flags
Definition: SDL_egl.h:898