Sha256: 5489b5fefe164bc495d21d81247b2d6b1b3313ad8db8c0291f018774018ad337

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

#ifndef SAY_VERTEX_TYPE_H_
#define SAY_VERTEX_TYPE_H_

#include "say_basic_type.h"

typedef enum {
  SAY_FLOAT,
  SAY_INT,
  SAY_UBYTE,
  SAY_BOOL,

  SAY_COLOR,
  SAY_VECTOR2,
  SAY_VECTOR3
} say_vertex_elem_type;

typedef struct {
  say_vertex_elem_type  type;
  char                 *name;
  bool                  per_instance;
} say_vertex_elem;

typedef struct {
  mo_array elements;
} say_vertex_type;

size_t say_vertex_type_make_new();

say_vertex_type *say_get_vertex_type(size_t i);

void say_vertex_type_push(say_vertex_type *type, say_vertex_elem elem);

say_vertex_elem_type say_vertex_type_get_type(say_vertex_type *type, size_t i);
const char *say_vertex_type_get_name(say_vertex_type *type, size_t i);
bool say_vertex_type_is_per_instance(say_vertex_type *type, size_t i);
size_t say_vertex_type_get_offset(say_vertex_type *type, size_t elem);
size_t say_vertex_type_get_elem_count(say_vertex_type *type);
size_t say_vertex_type_get_size(say_vertex_type *type);
size_t say_vertex_type_get_instance_size(say_vertex_type *type);
bool say_vertex_type_has_instance_data(say_vertex_type *type);

void say_vertex_type_clean_up();

#endif

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ray-0.2.1 ext/say_vertex_type.h
ray-0.2.0 ext/say_vertex_type.h