Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
stripoptimizer.h
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#if defined(_MSC_VER)
20#pragma once
21#endif
22
23#ifndef WW3D2_STRIP_OPTIMIZER_H__
24#define WW3D2_STRIP_OPTIMIZER_H__
25
26#include "always.h"
27
28
29// strip data =
30//
31// len = number of vertices in strip
32// [vertex indices]
33// len
34// [vertex indices]
35// ..
36
38{
39public:
40 static int* Stripify(const int* tris, int tri_count); // Outputs a set of strips
41 static int* Combine_Strips(const int* strips, int strip_count);
42 static void Optimize_Strip_Order(int* strips, int strip_count); // Sorts strips for optimal access order
43 static void Optimize_Triangle_Order(int* tris, int triangle_count); // Sorts triangles (three indices each) into near-optimal access order
44
45 static int Get_Strip_Index_Count(const int* strips, int strips_count);
46};
47
48#endif // WW3D2_STRIP_OPTIMIZER_H__
static void Optimize_Triangle_Order(int *tris, int triangle_count)
static int * Combine_Strips(const int *strips, int strip_count)
static int * Stripify(const int *tris, int tri_count)
static void Optimize_Strip_Order(int *strips, int strip_count)
static int Get_Strip_Index_Count(const int *strips, int strips_count)