API_LghtType
3D 광원을 의미합니다.
typedef struct { API_3D_Head head; API_LghtSouID type; Int32 status; Int32 filler_1[2]; API_RGBColor lightRGB; double posx; double posy; double posz; double dirx; double diry; double dirz; double radius; double cosa; double cosb; double afall; double dist1; double dist2; double dfall; } API_LghtType;
멤버
- head
- 이 구성요소의 헤더 정보입니다. 이것은 타입(
API_LghtID
)과 데이터베이스 인덱스를 지정합니다. - type
- 광원 타입입니다.
- status
- 광원이 그림자를 드리우거나 하지 않습니다.
- lightRGB
- 광원 컬러입니다.
- posx, posy, posz
- 광원의 로컬 원점입니다.
- dirx, diry, dirz
- 광원의 방향입니다.
- radius
- 광원의 반지름입니다.
- cosa
- 광원 내 원뿔의 각도의 코사인은 최대 강도를 갖습니다.
- cosb
- 강도 내 원뿔의 각도의 코사인은 0으로 떨어집니다.
- afall
- 빛의 감소 제어입니다. (강도의 감소는 원뿔 각도에 따라 달라집니다)
- dist1, dist2
- x축을 따른 clipping 값들입니다.
- dfall
- 거리에 따라 강도의 감소를 제어합니다.
설명
광원은 lightRGB
컬러를 가진 빛을 로컬 원점(posx
, posy
, posz
)으로부터 방향 벡터(dirx
, diry
, dirz
)를 따라 방사합니다.
빛은 한 점이나 원형 소스로부터 방향 벡터에 평행하여 투영됩니다. (아래 그림을 보십시오!)
원뿔의 alpha-각도 절단체(frustum) 안에서 빛은 최대 강도를 갖습니다. / 그리고 원뿔의 beta-각도 절단체(frustum)에서 강도가 0으로 감소합니다.
이 감소는 afall
파라미터로 제어할 수 있습니다. (0으로 하면 빛이 날카로운 가장자리가 나오고, 값이 커질수록 경계가 부드러워짐)
빛의 효과는 축을 따르는 / dist1
과 dist2
clipping 값들에 의해 제한됩니다.
dfall
파라미터는 거리에 따른 강도의 감소를 제어합니다. (0 값은 일정한 강도를 의미합니다. 값이 커질수록 감소 폭이 커집니다.)
광원의 type
은 API_LghtSouID 멤버의 하나가 될 수 있습니다.
만약 ArchiCAD로 하여금 이 광원으로부터 그림자 캐스팅을 계산하게 하려면 status
는 반드시 APILight_CastShadow
이어야 합니다. / 그 외에는 0으로 두십시오.

요구사항
- 버전: API 1.3 또는 이후
- 헤더: APIdefs_3D.h
참고사항
API_3D_Head, API_LghtSouID, API_RGBColor, API_Component3D,
3D 관리자, API 타입