shader.h

来自「《光线引擎演示程序》执行程序+源代码,《光线引擎演示程序》执行程序+源代码」· C头文件 代码 · 共 127 行

H
127
字号
/*==========================================================================;
 *
 *  光线游戏引擎(Light Game Engine)
 *
 *  版权所有 (C) 2005-2007 康 旭。 保留所有权利。
 *  Copyright (C) KangXu.  All Rights Reserved.
 *
 *  文件:   shader.h
 *  内容:   着色语言函数
 *
 ****************************************************************************/


/*! \file shader.h * 着色语言函数。 * 此文件是着色语言函数头文件. */


/*! \class LightShader *  \brief 着色语言类  * *  本类负责 OpenGL 着色语言的读取、编译、连接和运行。 *  每个 LightShader 实例都必须通过 LightEngine 类的 NewShader 方法分配。  */

class LightShader
{

public:
	/*! \fn int Load( const char *vertex, const char *fragment ) = 0	 *  \brief 将指定的 shader 程序读入内存	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param const char *vertex 顶点语言文件名	 *	 *  \param const char *fragment 片段语言文件名	 *	 *  \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。	 *	 *  \see 
	 */
	virtual int Load( const char *vertex, const char *fragment ) = 0;

	/*! \fn bool Compile( void ) = 0	 *  \brief 编译 shader 程序	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param 此函数没有参数。	 *	 	 *  \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。	 *	 *  \see 
	 */
	virtual bool Compile( void ) = 0;

	/*! \fn bool Link( void ) = 0	 *  \brief 链接 shader 程序	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param 此函数没有参数。	 *	 	 *  \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。	 *	 *  \see 
	 */
	virtual bool Link( void ) = 0;

	/*! \fn int void Begin( void ) = 0	 *  \brief 开始使用 shader 程序	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param 此函数没有参数。	 *	 	 *  \return 此函数没有返回值。	 *	 *  \see 
	 */
	virtual void Begin( void ) = 0;

	/*! \fn int void End( void ) = 0	 *  \brief 停止使用 shader 程序	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param 此函数没有参数。	 *	 	 *  \return 此函数没有返回值。	 *	 *  \see 
	 */
	virtual void End( void ) = 0;

	/*! \fn int GetInfoLog( char *string, int size ) = 0	 *  \brief 查询信息日志	 *	 *  支持 OpenGL 着色语言。	 *	 *  \param char *string 存放信息日志的字符串指针。	 *	 	 *  \param int size 存放信息日志的字符串大小。	 *	 	 *  \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。	 *	 *  \see 
	 */
	virtual int GetInfoLog( char *string, int size ) = 0;

	/*! \fn void Unload ( void ) = 0	 *  \brief 释放 shader 程序所占内存	 *	 *  释放 shader 程序所占内存	 *	 *  \param 本函数没有参数。	 *	 *  \remarks 本函数没有相关信息。	 *	 *  \return 本函数没有返回值。
	 */
	virtual void Unload ( void ) = 0;

};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?