Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
maxworldinfo.cpp
Go to the documentation of this file.
1
/*
2
** Command & Conquer Generals Zero Hour(tm)
3
** Copyright 2025 Electronic Arts Inc.
4
**
5
** This program is free software: you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation, either version 3 of the License, or
8
** (at your option) any later version.
9
**
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
14
**
15
** You should have received a copy of the GNU General Public License
16
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
/***********************************************************************************************
20
*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
21
***********************************************************************************************
22
* *
23
* Project Name : Max2W3d *
24
* *
25
* $Archive:: /Commando/Code/Tools/max2w3d/maxworldinfo.cpp $*
26
* *
27
* Original Author:: Patrick Smith *
28
* *
29
* $Author:: Greg_h $*
30
* *
31
* $Modtime:: 10/27/00 7:11p $*
32
* *
33
* $Revision:: 2 $*
34
* *
35
*---------------------------------------------------------------------------------------------*
36
* Functions: *
37
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
38
39
#include "
maxworldinfo.h
"
40
#include "
geometryexporttask.h
"
41
42
/*
43
** Get_Shared_Vertex_Normal
44
** Loops through all the other meshes in the world and builds a vertex normal for
45
** the verticies that share the same space and are part of the same smoothing group.
46
*/
47
Vector3
MaxWorldInfoClass::Get_Shared_Vertex_Normal
(
Vector3
pos,
int
smgroup)
48
{
49
Point3 normal(0,0,0);
50
Point3 world_pos = ExportTrans * Point3(pos.
X
,pos.
Y
,pos.
Z
);
51
52
//
53
// Loop through all the meshes in the world and see which ones contain
54
// verticies that share the same space and are part of the same smoothing group.
55
//
56
for
(
unsigned
int
index = 0; index < MeshList.Count(); index ++) {
57
GeometryExportTaskClass
* task = MeshList[index];
58
if
(task != CurrentTask) {
59
normal += task->
Get_Shared_Vertex_Normal
(world_pos,smgroup);
60
}
61
}
62
63
return
Vector3
(normal.x,normal.y,normal.z);
64
}
GeometryExportTaskClass
Definition
geometryexporttask.h:59
GeometryExportTaskClass::Get_Shared_Vertex_Normal
virtual Point3 Get_Shared_Vertex_Normal(const Point3 &world_space_point, int smgroup)
Definition
geometryexporttask.h:94
MaxWorldInfoClass::Get_Shared_Vertex_Normal
virtual Vector3 Get_Shared_Vertex_Normal(Vector3 pos, int smgroup)
Definition
maxworldinfo.cpp:47
Vector3
Definition
vector3.h:85
Vector3::X
float X
Definition
vector3.h:90
Vector3::Z
float Z
Definition
vector3.h:92
Vector3::Y
float Y
Definition
vector3.h:91
geometryexporttask.h
maxworldinfo.h
Code
Tools
WW3D
max2w3d
maxworldinfo.cpp
Generated by
1.13.2