RenderMan 22.0 RtUString

올해는 RenderMan이 태어난지 30주년이 되는 해이다. 그리고, 어느덧 RenderMan version이 22.0이 되었다. 21.x 버전에 비해 22.0 버전은 많은 것이 바뀌었다고 하는데 바뀐 내용 중에는 다음과 같은 것도 있다.

RtToken has been replaced, any string that is passed to the renderer must be a RtUString. Any customer code will need to implement this change. (https://rmanwiki.pixar.com/display/REN22/RenderMan+22.0)

위의 설명대로 RtUString class가 새로 생겼다. RtToken 또는 char*를 모두 RtUString으로 바꿔주어야 한다. 30년 동안 없던 string class가 왜 이제서야… 어쨌든 따라야지. 함수 string을 받는 argument의 data type이 모두 이것으로 바뀌었기 때문에 꽤 성가시게 됐다.

RtToken(=char*) => RtUString
RtToken const(=const char*) => RtUString const
“abcde” => RtUString(“abcde”)
로 바꿔주어야 한다.

그리고, RtUString은 const char*로 바꾸려면 RtUString::CStr()을 사용하면 된다.

보다 자세한 내용은 RiTypesHelper.h를 참고하면 된다.

Add a Comment