MTLVertexBufferLayoutDescriptor
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCopying
-
NSObject
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
A MTLVertexBufferLayoutDescriptor
объект используется, чтобы сконфигурировать, как вершина и данные атрибута выбираются функцией вершинного шейдера.
-
stepFunction
СвойствоОбстоятельства, при которых вершина и ее атрибуты представлены функции вершины.
Объявление
Swift
var stepFunction: MTLVertexStepFunction
Objective C
@property(assign, nonatomic) MTLVertexStepFunction stepFunction
Обсуждение
Значение по умолчанию
MTLVertexStepFunctionPerVertex
.Если
stepFunction
MTLVertexStepFunctionPerVertex
, программа построения теней выбирает новые данные атрибута на основе[[ vertex_id ]]
спецификатор атрибута. Программа построения теней выбирает новые данные атрибута каждый раз, когда новая вершина обрабатывается. В этом случае,stepRate
должен быть установлен в1
, который является его значением по умолчанию.Если
stepFunction
MTLVertexStepFunctionPerInstance
, программа построения теней выбирает новые данные атрибута на основе[[ instance_id ]]
спецификатор атрибута. В этом случае,stepRate
должно быть больше, чем0
и его значение определяет, как часто программа построения теней выбирает новые данные атрибута.Если
stepFunction
MTLVertexStepFunctionConstant
, данные атрибута выборок программы построения теней только один раз и те данные атрибута используются для каждой вершины. В этом случае,stepRate
должен быть установлен в0
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
stepRate
СвойствоИнтервал, в котором вершина и ее атрибуты представлены функции вершины.
Обсуждение
Значение по умолчанию
1
.stepRate
значение, в сочетании сstepFunction
свойство, определяет, как часто программа построения теней выбирает новые данные атрибута.stepRate
свойство обычно используется когдаstepFunction
MTLVertexStepFunctionPerInstance
. ЕслиstepRate
равно1
, новые данные атрибута выбираются для каждого экземпляра; еслиstepRate
равно2
, новые данные атрибута выбираются для каждых двух экземпляров и т.д.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
stride
СвойствоРасстояние, в байтах, между данными атрибута двух вершин в буфере.
Обсуждение
stride
должно быть кратное число4
байты. Значение по умолчанию0
.Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
Частота, с которой вершинный шейдер функционируют данные атрибута выборок.
Объявление
Swift
enum MTLVertexStepFunction : UInt { case Constant case PerVertex case PerInstance }
Objective C
typedef enum : NSUInteger { MTLVertexStepFunctionConstant = 0, MTLVertexStepFunctionPerVertex = 1, MTLVertexStepFunctionPerInstance = 2 } MTLVertexStepFunction;
Константы
-
Constant
MTLVertexStepFunctionConstant
Функция вершины выбирает данные атрибута один раз и использование что данные для каждой вершины.
Доступный в iOS 8.0 и позже.
-
PerVertex
MTLVertexStepFunctionPerVertex
Функция вершины выбирает и использует новые данные атрибута для каждой вершины.
Доступный в iOS 8.0 и позже.
-
PerInstance
MTLVertexStepFunctionPerInstance
Функция вершины регулярно выбирает новые данные атрибута для многих экземпляров, определяющиеся
stepRate
.Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-