Banuba SDK
BNBMaterial.h
Go to the documentation of this file.
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file was generated by Djinni from scene.djinni
3 
4 #import "BNBGeometryTopology.h"
5 #import "BNBShaderSource.h"
6 #import "BNBState.h"
7 #import <Foundation/Foundation.h>
8 @class BNBImage;
9 @class BNBParameter;
10 
11 
12 /**Class, represents material interface */
13 
14 #ifndef DJINNI_EXPORT
15  #define DJINNI_EXPORT __attribute__((__visibility__("default")))
16 #endif
17 
19 @interface BNBMaterial : NSObject
20 
21 /**@return material name (string) */
22 - (nonnull NSString *)getName;
23 
24 /**
25  *adds shader parameter to parameters list, after what you'll can get access to this parameter in shader by it's name.
26  *Type of parameter in shader will match with type of parameter, except int, float, vector2, vector3,
27  *this types will be replaces on vec4, which x component will have needed value, other components will be filled by garbage.
28  *@param parameter (parameter): parameter to add
29  */
30 - (void)addParameter:(nullable BNBParameter *)parameter;
31 
32 /**@return list of shader parameters (list<parameter>) */
33 - (nonnull NSArray<BNBParameter *> *)getParameters;
34 
35 /**
36  *removes parameter from list.
37  *@param parameter (parameter): parameter to remove
38  */
39 - (void)removeParameter:(nullable BNBParameter *)parameter;
40 
41 /**
42  *find parameter by name
43  *@param name (string)
44  *@return parameter (parameter) or null
45  */
46 - (nullable BNBParameter *)findParameter:(nonnull NSString *)name;
47 
48 /**
49  *set material geometry topology.
50  *@param topology (geometry_topology): geometry topology type. Can be triangles_list, lines_list, points_list. Default: triangles_list
51  */
52 - (void)setTopology:(BNBGeometryTopology)topology;
53 
54 /**@return current geometry topology (geometry_topology) */
55 - (BNBGeometryTopology)getCurrentTopology;
56 
57 /**
58  *sets render state (i.e blending mode, color/depth writing, depth testing, etc.)
59  *@param state (state) render state
60  */
61 - (void)setState:(nonnull BNBState *)state;
62 
63 /**@return render state (state) */
64 - (nonnull BNBState *)getState;
65 
66 /**
67  *add image sampler, after what you'll can get acess to image and sampler in shader by formula: image_index = i * 2. sampler_index = i * 2 + 1.
68  *Where i is image index in images list (which you can get by get_images call).
69  *Note that you need to declare images samplers in shader manually and sampler name in name must match with sampler name in material.
70  *@param sampler (string): sampler name
71  *@param image (image): sampler image
72  */
73 - (void)addImage:(nonnull NSString *)sampler
74  image:(nullable BNBImage *)image;
75 
76 /**@return list of samplers images (list<parameter>) */
77 - (nonnull NSArray<BNBImage *> *)getImages;
78 
79 /**
80  *removes image from list (if exist). Will be ignored if effect was activated.
81  *@param sampler (string): sampler name
82  */
83 - (void)removeImage:(nonnull NSString *)sampler;
84 
85 /**@return list of samplers name (list<string>) */
86 - (nonnull NSArray<NSString *> *)getSamplers;
87 
88 /**@return compiled and combined shaders sources */
89 - (nonnull BNBShaderSource *)getShaderSource;
90 
91 @end
-[BNBMaterial getSamplers]
nonnull NSArray< NSString * > * getSamplers()
BNBImage
Definition: BNBImage.h:24
BNBParameter
Class, represent shader parameter.
Definition: BNBParameter.h:20
-[BNBMaterial getShaderSource]
nonnull BNBShaderSource * getShaderSource()
BNBState
Definition: BNBState.h:13
-[BNBMaterial getState]
nonnull BNBState * getState()
BNBMaterial
Class, represents material interface.
Definition: BNBMaterial.h:19
-[BNBMaterial getParameters]
nonnull NSArray< BNBParameter * > * getParameters()
-[BNBMaterial getName]
nonnull NSString * getName()
BNBShaderSource.h
-[BNBMaterial getCurrentTopology]
BNBGeometryTopology getCurrentTopology()
DJINNI_EXPORT
#define DJINNI_EXPORT
for order of values in action units array see action_units_indices enum
Definition: BNBActionUnits.h:9
-[BNBMaterial getImages]
nonnull NSArray< BNBImage * > * getImages()
BNBGeometryTopology.h
BNBState.h
BNBShaderSource
Definition: BNBShaderSource.h:12