Sha256: 5c900029816b97dbe5401aaf1565d06a4fd62b10dfdf2c42b07e924e8795f97e

Contents?: true

Size: 909 Bytes

Versions: 3

Compression:

Stored size: 909 Bytes

Contents

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


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


namespace Rays
{


	class Texture;


	class FrameBuffer
	{

		public:

			FrameBuffer ();

			FrameBuffer (const Texture& texture);

			~FrameBuffer ();

			void attach (const Texture& texture);

			GLuint id () const;

			int width () const;

			int height () const;

			      Texture& texture ();

			const Texture& texture () const;

			operator bool () const;

			bool operator ! () const;

			struct Data;

			Xot::PImpl<Data, true> self;

	};// FrameBuffer


	class FrameBufferBinder
	{

		public:

			FrameBufferBinder (GLuint id);

			~FrameBufferBinder ();

			GLuint current () const;

		private:

			GLuint id;

	};// FrameBufferBinder


	void bind_frame_buffer (GLuint id);

	void unbind_frame_buffer ();


}// Rays


#endif//EOH

Version data entries

3 entries across 3 versions & 1 rubygems

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