복사 생성과 공유
파라미터의 복사 생성
복사 생성에는, 다음과 같은 제한이 있다.
- 복사는, 원의 이펙트의 풀을 계승한다. 「파라미터의 공유」를 참조할것.
- 복사는, 원의 이펙트의 테크닉, 패스, 파라미터, 및 코멘트 (ID3DXEffect 을 사용해 추가한 모든 코멘트를 포함한다)를 계승한다.
- 복사는, 원의 이펙트에 동적으로 추가된 코멘트를 계승한다.
- 원의 이펙트의 풀이 NULL 가 아니고, 원의 이펙트가 장치에 의존한 공유의 파라미터 (텍스처나 셰이더등)를 포함하고 있는 경우, 새로운 장치에의 복사 생성은 실패한다.
파라미터의 공유
풀은, 다른 이펙트간에 이펙트 파라미터를 공유하기 위한 버퍼이다. 풀에 파라미터를 추가하려면 , 이펙트의 생성시에 공유의 사용 방법을 지정한다.
풀에는, 다음과 같은 제한이 있다.
- 풀에 파라미터가 추가되는 것은, 그 (공유의) 파라미터를 포함한 이펙트를 처음으로 그 풀에 추가했을 때이다.
- 풀은 최초의 공유 파라미터로부터 초기값을 취득해, 그 이후의 공유 파라미터는 풀로부터 값을 얻어온다.
- 공유 파라미터를 참조하는 모든 이펙트가 릴리즈 되면 그 파라미터는 풀로부터 삭제된다.
- 풀내에서, 장치에 의존하는 같은 (공유) 파라미터를 포함하고 있는 이펙트는, 모든 것이 같은 장치를 사용해야 한다.
풀을 지정하지 않는 경우는 NULL 를 사용한다. 이 경우, 파라미터는 1 개나 공유되지 않는다. 이것은, 그 이펙트만의 고유의 풀을 지정하는 것과 거의 같은 것이다. 1 개만 다른 것은, 이펙트의 복사를 생성 했을 때에, 복사는 공유 파라미터를 원의 이펙트와 공유하지 않는 점이다.