Sha256: b6660449bb4651d32ca6baed8b663eca9d019b3b0e882ab4b159f0a50d87a102

Contents?: true

Size: 910 Bytes

Versions: 24

Compression:

Stored size: 910 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 "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::PSharedImpl<Data> self;

	};// FrameBuffer


	class FrameBufferBinder
	{

		public:

			FrameBufferBinder (GLuint id);

			~FrameBufferBinder ();

			GLuint current () const;

		private:

			GLuint id;

	};// FrameBufferBinder


	void FrameBuffer_bind (GLuint id);

	void FrameBuffer_unbind ();


}// Rays


#endif//EOH

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
rays-0.1.16 src/frame_buffer.h
rays-0.1.15 src/frame_buffer.h
rays-0.1.14 src/frame_buffer.h
rays-0.1.13 src/frame_buffer.h