Sha256: b36ec647da9ff52c5d1bef50e9e3ec20acc6508fa3a005c24d5d0fde8a6d2171

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

// -*- c++ -*-
#pragma once
#ifndef __RAYS_PROGRAM_H__
#define __RAYS_PROGRAM_H__


#include <xot/pimpl.h>
#include <rays/opengl.h>


namespace Rays
{


	class Shader;


	class Program
	{

		typedef Program This;

		public:

			Program ();

			~Program ();

			void attach (const Shader& shader);

			void detach (const Shader& shader);

			void set_uniform (const char* name, int arg1);

			void set_uniform (const char* name, int arg1, int arg2);

			void set_uniform (const char* name, int arg1, int arg2, int arg3);

			void set_uniform (const char* name, int arg1, int arg2, int arg3, int arg4);

			void set_uniform (const char* name, const int* args, size_t size);

			void set_uniform (const char* name, float arg1);

			void set_uniform (const char* name, float arg1, float arg2);

			void set_uniform (const char* name, float arg1, float arg2, float arg3);

			void set_uniform (const char* name, float arg1, float arg2, float arg3, float arg4);

			void set_uniform (const char* name, const float* args, size_t size);

			void push ();

			void pop ();

			GLuint id () const;

			operator bool () const;

			bool operator ! () const;

			struct Data;

			Xot::PImpl<Data, true> self;

	};// Program


}// Rays


#endif//EOH

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rays-0.1.9 src/program.h
rays-0.1.8 src/program.h
rays-0.1.7 src/program.h