mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 14:46:53 +00:00
811 lines
19 KiB
C
811 lines
19 KiB
C
|
/*
|
||
|
File: QD3DLight.h
|
||
|
|
||
|
Contains: Generic light routines
|
||
|
|
||
|
Version: Technology: Quickdraw 3D 1.6
|
||
|
Release: QuickTime 7.3
|
||
|
|
||
|
Copyright: (c) 2007 (c) 1995-1998 by Apple Computer, Inc., all rights reserved.
|
||
|
|
||
|
Bugs?: For bug reports, consult the following page on
|
||
|
the World Wide Web:
|
||
|
|
||
|
http://developer.apple.com/bugreporter/
|
||
|
|
||
|
*/
|
||
|
#ifndef __QD3DLIGHT__
|
||
|
#define __QD3DLIGHT__
|
||
|
|
||
|
#ifndef __QD3D__
|
||
|
#include <QD3D.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_ONCE
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_IMPORT
|
||
|
#pragma import on
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=power
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(push, 2)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack(2)
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_ENUM_ALWAYSINT
|
||
|
#if defined(__fourbyteints__) && !__fourbyteints__
|
||
|
#define __QD3DLIGHT__RESTORE_TWOBYTEINTS
|
||
|
#pragma fourbyteints on
|
||
|
#endif
|
||
|
#pragma enumsalwaysint on
|
||
|
#elif PRAGMA_ENUM_OPTIONS
|
||
|
#pragma option enum=int
|
||
|
#elif PRAGMA_ENUM_PACK
|
||
|
#if __option(pack_enums)
|
||
|
#define __QD3DLIGHT__RESTORE_PACKED_ENUMS
|
||
|
#pragma options(!pack_enums)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Enum Definitions **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
enum TQ3AttenuationType {
|
||
|
kQ3AttenuationTypeNone = 0,
|
||
|
kQ3AttenuationTypeInverseDistance = 1,
|
||
|
kQ3AttenuationTypeInverseDistanceSquared = 2
|
||
|
};
|
||
|
typedef enum TQ3AttenuationType TQ3AttenuationType;
|
||
|
|
||
|
|
||
|
enum TQ3FallOffType {
|
||
|
kQ3FallOffTypeNone = 0,
|
||
|
kQ3FallOffTypeLinear = 1,
|
||
|
kQ3FallOffTypeExponential = 2,
|
||
|
kQ3FallOffTypeCosine = 3
|
||
|
};
|
||
|
typedef enum TQ3FallOffType TQ3FallOffType;
|
||
|
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Data Structure Definitions **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
struct TQ3LightData {
|
||
|
TQ3Boolean isOn;
|
||
|
float brightness;
|
||
|
TQ3ColorRGB color;
|
||
|
};
|
||
|
typedef struct TQ3LightData TQ3LightData;
|
||
|
struct TQ3DirectionalLightData {
|
||
|
TQ3LightData lightData;
|
||
|
TQ3Boolean castsShadows;
|
||
|
TQ3Vector3D direction;
|
||
|
};
|
||
|
typedef struct TQ3DirectionalLightData TQ3DirectionalLightData;
|
||
|
struct TQ3PointLightData {
|
||
|
TQ3LightData lightData;
|
||
|
TQ3Boolean castsShadows;
|
||
|
TQ3AttenuationType attenuation;
|
||
|
TQ3Point3D location;
|
||
|
};
|
||
|
typedef struct TQ3PointLightData TQ3PointLightData;
|
||
|
struct TQ3SpotLightData {
|
||
|
TQ3LightData lightData;
|
||
|
TQ3Boolean castsShadows;
|
||
|
TQ3AttenuationType attenuation;
|
||
|
TQ3Point3D location;
|
||
|
TQ3Vector3D direction;
|
||
|
float hotAngle;
|
||
|
float outerAngle;
|
||
|
TQ3FallOffType fallOff;
|
||
|
};
|
||
|
typedef struct TQ3SpotLightData TQ3SpotLightData;
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Light routines (apply to all TQ3LightObjects) **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* Q3Light_GetType()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3ObjectType )
|
||
|
Q3Light_GetType(TQ3LightObject light);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_GetState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_GetState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean * isOn);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_GetBrightness()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_GetBrightness(
|
||
|
TQ3LightObject light,
|
||
|
float * brightness);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_GetColor()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_GetColor(
|
||
|
TQ3LightObject light,
|
||
|
TQ3ColorRGB * color);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_SetState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_SetState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean isOn);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_SetBrightness()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_SetBrightness(
|
||
|
TQ3LightObject light,
|
||
|
float brightness);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_SetColor()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_SetColor(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3ColorRGB * color);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_GetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_GetData(
|
||
|
TQ3LightObject light,
|
||
|
TQ3LightData * lightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3Light_SetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3Light_SetData(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3LightData * lightData);
|
||
|
|
||
|
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Specific Light Routines **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Ambient Light **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
/*
|
||
|
* Q3AmbientLight_New()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3LightObject )
|
||
|
Q3AmbientLight_New(const TQ3LightData * lightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3AmbientLight_GetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3AmbientLight_GetData(
|
||
|
TQ3LightObject light,
|
||
|
TQ3LightData * lightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3AmbientLight_SetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3AmbientLight_SetData(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3LightData * lightData);
|
||
|
|
||
|
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Directional Light **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
/*
|
||
|
* Q3DirectionalLight_New()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3LightObject )
|
||
|
Q3DirectionalLight_New(const TQ3DirectionalLightData * directionalLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_GetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_GetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean * castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_GetDirection()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_GetDirection(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Vector3D * direction);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_SetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_SetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_SetDirection()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_SetDirection(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3Vector3D * direction);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_GetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_GetData(
|
||
|
TQ3LightObject light,
|
||
|
TQ3DirectionalLightData * directionalLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3DirectionalLight_SetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3DirectionalLight_SetData(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3DirectionalLightData * directionalLightData);
|
||
|
|
||
|
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Point Light **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
/*
|
||
|
* Q3PointLight_New()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3LightObject )
|
||
|
Q3PointLight_New(const TQ3PointLightData * pointLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_GetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_GetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean * castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_GetAttenuation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_GetAttenuation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3AttenuationType * attenuation);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_GetLocation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_GetLocation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Point3D * location);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_GetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_GetData(
|
||
|
TQ3LightObject light,
|
||
|
TQ3PointLightData * pointLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_SetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_SetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_SetAttenuation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_SetAttenuation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3AttenuationType attenuation);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_SetLocation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_SetLocation(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3Point3D * location);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3PointLight_SetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3PointLight_SetData(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3PointLightData * pointLightData);
|
||
|
|
||
|
|
||
|
|
||
|
/******************************************************************************
|
||
|
** **
|
||
|
** Spot Light **
|
||
|
** **
|
||
|
*****************************************************************************/
|
||
|
/*
|
||
|
* Q3SpotLight_New()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3LightObject )
|
||
|
Q3SpotLight_New(const TQ3SpotLightData * spotLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean * castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetAttenuation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetAttenuation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3AttenuationType * attenuation);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetLocation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetLocation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Point3D * location);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetDirection()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetDirection(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Vector3D * direction);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetHotAngle()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetHotAngle(
|
||
|
TQ3LightObject light,
|
||
|
float * hotAngle);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetOuterAngle()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetOuterAngle(
|
||
|
TQ3LightObject light,
|
||
|
float * outerAngle);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetFallOff()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetFallOff(
|
||
|
TQ3LightObject light,
|
||
|
TQ3FallOffType * fallOff);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_GetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_GetData(
|
||
|
TQ3LightObject light,
|
||
|
TQ3SpotLightData * spotLightData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetCastShadowsState()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetCastShadowsState(
|
||
|
TQ3LightObject light,
|
||
|
TQ3Boolean castsShadows);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetAttenuation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetAttenuation(
|
||
|
TQ3LightObject light,
|
||
|
TQ3AttenuationType attenuation);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetLocation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetLocation(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3Point3D * location);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetDirection()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetDirection(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3Vector3D * direction);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetHotAngle()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetHotAngle(
|
||
|
TQ3LightObject light,
|
||
|
float hotAngle);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetOuterAngle()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetOuterAngle(
|
||
|
TQ3LightObject light,
|
||
|
float outerAngle);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetFallOff()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetFallOff(
|
||
|
TQ3LightObject light,
|
||
|
TQ3FallOffType fallOff);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Q3SpotLight_SetData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TQ3Status )
|
||
|
Q3SpotLight_SetData(
|
||
|
TQ3LightObject light,
|
||
|
const TQ3SpotLightData * spotLightData);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
|
||
|
#if PRAGMA_ENUM_ALWAYSINT
|
||
|
#pragma enumsalwaysint reset
|
||
|
#ifdef __QD3DLIGHT__RESTORE_TWOBYTEINTS
|
||
|
#pragma fourbyteints off
|
||
|
#endif
|
||
|
#elif PRAGMA_ENUM_OPTIONS
|
||
|
#pragma option enum=reset
|
||
|
#elif defined(__QD3DLIGHT__RESTORE_PACKED_ENUMS)
|
||
|
#pragma options(pack_enums)
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(pop)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PRAGMA_IMPORT_OFF
|
||
|
#pragma import off
|
||
|
#elif PRAGMA_IMPORT
|
||
|
#pragma import reset
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __QD3DLIGHT__ */
|
||
|
|