×
Menu

NiTriStripsData - parameters

 
Описание основных параметров см. niTriShapeData.
Num Strips
кол-во стрипсов.
 
На кол-во вылетов редактора это никак не влияет))
Т.е. МВ одинаково плохо работает с моделями, как с одним стрипсом, так и с некоторым их числом.
 
 
Кол-во может быть задано в модуле экспорта ФФЕ для 4.2 версии ниф файла.
 
Unaxelerated PC дает большие значение, т.е. идет разбиение поверхности на несколько стрипсов.
Если выбрать - PC с ускорением (Gforse2-3), это даст один общий стрипс.
Т.е. вся поверхность создаст единый стрипс, без разбиения.
 
При этом, фактического разбиения поверхности на несколько объектов не происходит.
Как была целая так и остается.
Разбиение происходит на "логическом" уровне, так сказать.
 
Получить один "мега" стрипс, или множество мелких, в МАХе, можно путем редактирования MaxNifTools.ini
; TriStrip routine to use. (0=NVidia, 1=tri_stripper) Default:0
UseAlternateStripper=0
 
Т.е.
 =0 будет один большой стрипс  в файле.
 =1 будет некоторое кол-во меньших.
В плане стабильности для МВ, разницы не наблюдалось(
 
Поверхность разбита на 2 стрипса.
 
Один большой стрипс той же самой поверхности.
 
Strips Length
равно кол-ву Num Triangles +2
 
Т.е. возвращает значение кол-ва вертексов во всех стрипсах.
Это не кол-во вертексов самого объекта, это кол-во вертексов на краях треугольников.
Кто с кем соединяется.
Т.е. там идут повторы номеров вертексов.
Отчего значение получается больше, чем значения кол-ва вертексов поверхности.
 
the sum of the number of vertices in all the strips.
 
Points
Номера вертексов, по углам треугольников.
Фактически показывает последовательность номеров вертексов объекта применительно их положения относительно друг друга в составе треугольника.
 
Т.е. да это формирует треугольник который будет визуально отображаться.
 
 
Примечание.
Capostrophic из ОпМВ команды писал, касательно num Strips:
Да, на слабых ПК раньше слишком мало памяти было для хранения одного большого стрипа, но сейчас памяти много, а ЦП практически такие же по скорости кидания вызовов прорисовки на карту, так что лучше 1 стрип.
Лучше 1 огромный стрип. Один стрип рисуется в один вызов прорисовки.
Т.е. стрип длиной в N+2 индексов где N -- количество треугольников.
А ещё лучше вообще их не юзать.
Морровинд их плохо переваривает, а на опенмв они медленнее треугольников.
 
Примечание.
In a normal NiTriShape, triangles are defined by a series of vertex indices. Each triangle is defined by three points. So if you have N triangles, you will have N*3 points. In a NiTriStrips shape, triangles are also defined by a series of indices. Each triangle is still defined by three points, however there's a quirk.
A triangle strip is a series of indices, which starts with three vertices that belong to the first triangle, but then every next triangle uses two previous points and the following point to be generated.  There's a clever order in how triangles are generated, but I don't care about such intricacies since OSG and OpenGL should do the job for me.
Example:
You have a plane which is defined by two triangles and 4 vertices. Let's say the vertices have 1, 2, 3, 4 indices.
13
24
^ imagine this is a plane
In a NiTriShape you'll have 6 indices, since there are two triangles. They can have this arrangement:
Triangle 1. 123
Triangle 2. 234
But suddenly you decide to make the shape a NiTriStrips instead. You decide to only have one strip. Then it'll have this arrangement.
Strip 1. 1234

 Выдержка из оригинальной справки. (NDL Gamebryo 1.1)
 
NiTriStripsData Connectivity
A triangle strip with n vertices defines n-2 triangles. If the triangles and vertices in a triangle strip are numbered starting at 0, then for even i, triangle i is defined by the vertices i, i+1, i+2, and for odd i, triangle i is defined by vertices i+1, i, i+2. Note the different vertex ordering, which is necessary to orient all the triangles in the strip consistently. The following diagram shows an example of the triangles defined by an NiTriStripsData object. The NiTriStripsData object in the diagram defines two strips. The first strip contains 6 vertices: 0, 1, 2, 3, 4, and 5. It defines triangles {0, 1, 2}, {2, 1, 3}, {2, 3, 4}, and {4, 3, 5}. The second strip contains 5 vertices: 1, 6, 3, 7, and 5. It defines triangles {1, 6, 3}, {3, 6, 7}, and {3, 7, 5}.
 
 Выдержка из оригинальной справки. (NDL Gamebryo 1.1)
 
NiTriStrips objects attach NiTriStripsData objects to a scene graph.
 
This term describes the Gamebryo representation of geometry that has been stripified. It has all of the attributes of an NiTriShape
NiTriStrips objects attach NiTriStripsData objects to a scene graph.
 
(это из справки к MAxImmerse 4.2)
Stripify Options: All platforms get HUGE performance benefits from stripping the triangles. However, different algorithms produce optimal triangle strips. The platform should match what your target platform is.