Sha256: 14e3b7341bd48bd9e2440ecee5bfdc64505d8a2e8c9b35151bed9839c4eb8630

Contents?: true

Size: 917 Bytes

Versions: 3

Compression:

Stored size: 917 Bytes

Contents

// -*- c++ -*-
#pragma once
#ifndef __RAYS_SRC_FRAME_BUFFER_H__
#define __RAYS_SRC_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.12 src/frame_buffer.h
rays-0.1.11 src/frame_buffer.h
rays-0.1.10 src/frame_buffer.h