/*************************************************************************

	form*Z by auto*des*sys, Inc.
	Copyright (c) 1989-2004 auto*des*sys, Inc.  All rights reserved.

	File:			glossy.h
	Author:			auto*des*sys, Inc.
	Created on:		01/29/04
	Description:	Glossy plugin header.

*************************************************************************/

#ifndef __GLOSSY_H
#define __GLOSSY_H 1

/************************************************************************
	formZ api headers
*************************************************************************/

/* Required for all plugins */

#include "fzrt_api.h"

/* Required for plugin's created by auto*des*sys, Inc. */

#include "formz_vendor.h"

/* Required for this specific plugin */

#include "fz_rzne_shdr_api.h" /* required for shdr fset */
#include "fz_math_api.h" /* required for math fset */



/************************************************************************
	Globals
*************************************************************************/


/* glossy shader plugin identification */
#define GLOSSY_PLUGIN_UUID				"\xd7\xf7\x59\xd3\x89\x1d\x4d\x1f\xb0\xd6\xb5\x8f\x44\xb8\x69\x1f"
#define GLOSSY_PLUGIN_FSET_UUID			"\xe0\x2c\x2a\x70\x51\x3d\x40\x29\x9b\x9e\x20\x44\xf3\xc8\x92\x1b"
#define GLOSSY_PLUGIN_CUR_VERSION		FZPL_VERS_MAKE(6,1,0,0)
/* Usually, start the data io version at 0 and increment by 1 each time the data changes */
#define GLOSSY_PLUGIN_DATA_IO_VERSION	FZPL_VERS_MAKE(5,5,0,0)	/* ONLY UPDATE WHEN SHADER DATA CHANGES */
#define GLOSSY_PLUGIN_VENDOR			FORMZ_VENDOR
#define GLOSSY_PLUGIN_URL				FORMZ_VENDOR_URL

/* maximum number of sample rays */
#define MAX_NUM_RAYS	25

/* function set provided by formZ during run-time. */
const fzpl_fset_glue_fset* _fset_glue;

/* formZ provided function sets to hold on to */
fz_fzrt_base_fset		_base_funcs;
fz_fzrt_mem_fset		_mem_funcs;
fz_shdr_fset			_shdr_funcs;
fz_type_fset			_type_funcs;
fz_math_fset			_math_funcs;
fz_fzrt_file_fset		_file_funcs;

/* id assigned at run-time */
fzrt_unsigned_int _glossy_plugin_runtime_id;

/* localization */
#define STRING_SIZE		256
char _name[STRING_SIZE];
char _short_name[STRING_SIZE];
char _blurriness_angle[STRING_SIZE];
char _blurriness_quality[STRING_SIZE];


#endif /* __GLOSSY_H */

