#pragma  once


///shader type identification:
#define GS_TYPE L"type"
#define GS_TYPE_DEFAULT CComVariant(RtUlong(-1))

///texture image definition:
#define GS_TEXTURE_IMAGE	L"image"
#define GS_TEXTURE_IMAGE_DEFAULT CComVariant((IUnknown*)NULL)

///texture image filename definition:
#define GS_TEXTURE_FILENAME L"file"
#define GS_TEXTURE_FILENAME_DEFAULT CComVariant(L"")

#define GS_TEXTURE_SCALE_U L"scale_u"
#define GS_TEXTURE_SCALE_U_DEFAULT CComVariant(1.0f)

#define GS_TEXTURE_SCALE_V L"scale_v"
#define GS_TEXTURE_SCALE_V_DEFAULT CComVariant(1.0f)

#define GS_TEXTURE_SCALE_W L"scale_w"
#define GS_TEXTURE_SCALE_W_DEFAULT CComVariant(1.0f)

#define GS_TEXTURE_OFFSET_U L"ofs_u"
#define GS_TEXTURE_OFFSET_U_DEFAULT CComVariant(0.0f)

#define GS_TEXTURE_OFFSET_V L"ofs_v"
#define GS_TEXTURE_OFFSET_V_DEFAULT CComVariant(0.0f)

#define GS_TEXTURE_OFFSET_W L"ofs_w"
#define GS_TEXTURE_OFFSET_W_DEFAULT CComVariant(0.0f)

#define GS_TEXTURE_AMPLITUDE L"amplitude"
#define GS_TEXTURE_AMPLITUDE_DEFAULT CComVariant(1.0f)

#define GS_TRANSPARENCY_STRENGTH L"trans_a"
#define GS_TRANSPARENCY_STRENGTH_DEFAULT CComVariant(0.0f)

#define GS_TRANSPARENCY_COLOR_R L"trans_r"
#define GS_TRANSPARENCY_COLOR_R_DEFAULT CComVariant(1.0f)

#define GS_TRANSPARENCY_COLOR_G L"trans_g"
#define GS_TRANSPARENCY_COLOR_G_DEFAULT CComVariant(1.0f)

#define GS_TRANSPARENCY_COLOR_B L"trans_b"
#define GS_TRANSPARENCY_COLOR_B_DEFAULT CComVariant(1.0f)

#define GS_PLAIN_COLOR_R L"diffuse_r"
#define GS_PLAIN_COLOR_R_DEFAULT CComVariant(1.0f)

#define GS_PLAIN_COLOR_G L"diffuse_g"
#define GS_PLAIN_COLOR_G_DEFAULT CComVariant(1.0f)

#define GS_PLAIN_COLOR_B L"diffuse_b"
#define GS_PLAIN_COLOR_B_DEFAULT CComVariant(1.0f)

#define GS_PLAIN_COLOR_A L"diffuse_a"
#define GS_PLAIN_COLOR_A_DEFAULT CComVariant(1.0f)

#define GS_SPECULAR_COLOR_R L"specular_r"
#define GS_SPECULAR_COLOR_R_DEFAULT CComVariant(1.0f)

#define GS_SPECULAR_COLOR_G L"specular_g"
#define GS_SPECULAR_COLOR_G_DEFAULT CComVariant(1.0f)

#define GS_SPECULAR_COLOR_B L"specular_b"
#define GS_SPECULAR_COLOR_B_DEFAULT CComVariant(1.0f)


// reflectance shader specific records:
#define GS_REFLECTANCE_SHININESS L"ref_shine"
#define GS_REFLECTANCE_SHININESS_DEFAULT CComVariant(30.0f)

#define GS_REFLECTANCE_AMBIENT_COEF L"ref_amb_k"
#define GS_REFLECTANCE_AMBIENT_COEF_DEFAULT CComVariant(0.0f)

#define GS_REFLECTANCE_DIFFUSE_COEF L"ref_diff_k"
#define GS_REFLECTANCE_DIFFUSE_COEF_DEFAULT CComVariant(0.0f)

#define GS_REFLECTANCE_SPECULAR_COEF L"ref_spec_k"
#define GS_REFLECTANCE_SPECULAR_COEF_DEFAULT CComVariant(0.0f)

#define GS_REFLECTANCE_ROUGHNESS L"ref_rough"
#define GS_REFLECTANCE_ROUGHNESS_DEFAULT CComVariant(0.0f)
