Sha256: 975d8a217e563c61ec5d0e7064f1f28d766af73db656f1440b891485872049e0

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

#ifndef SAY_CONTEXT_H_
#define SAY_CONTEXT_H_

#include "say_basic_type.h"

typedef struct {
  size_t depth_size;
  size_t stencil_size;

  size_t major_version, minor_version;

  bool core_profile;
  bool debug;
} say_context_config;

struct say_window;

typedef struct {
  uint32_t count;
  say_imp_context context;

  int    texture_unit;
  GLuint textures[32];

  GLuint  vao;
  GLuint  vbo;
  void   *buffer_obj;

  GLuint program;

  GLuint ibo;

  GLuint pack_pbo;
  GLuint unpack_pbo;

  void *target;

  bool blend_enabled;
  GLenum src_blend_func;
  GLenum dst_blend_func;

  GLuint fbo;
  GLuint rbo;
} say_context;

say_context_config *say_context_get_config();

void say_context_free_el(void *context);

void say_context_ensure();

say_context *say_context_current();
mo_array    *say_context_get_all();

say_context *say_context_create_for_window(struct say_window *window);
say_context *say_context_create();
void say_context_free(say_context *context);

void say_context_make_current(say_context *context);
void say_context_update(say_context *context);

void say_context_clean_up();

#endif

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ray-0.2.1 ext/say_context.h