Change parameter in texture tag
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/02/2004 at 06:28, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.207
Platform: Windows ;
Language(s) : C++ ;---------
I use my own object and shader. This pair should only use UVW-Mapping. So, within my object, I grab a pointer to the texture tag, and want to set the projection to uvw....
GePrint( "textag " + LongToString( ptagdata->GetLong( TEXTURETAG_PROJECTION ) ) );
ptagdata->SetLong( TEXTURETAG_PROJECTION, TEXTURETAG_PROJECTION_UVW );
GePrint( "textag " + LongToString( ptagdata->GetLong( TEXTURETAG_PROJECTION ) ) );
Before, the projection is set to 0, after it is set to 6. This value is kept, if I run to that lines later, I also read 6 before the setting line. So, the new value should be sucessfully written into the tags container. But if I look at the attributes of the tag in the manager, the projection is still set to the original value, and when I start rendering, also the original value is used......is it impossible, or is there a way to do it? The user would have to set the projection to uvw MANUALLY for each object, thats not too nice. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 12/02/2004 at 23:12, xxxxxxxx wrote:
Found something strange....when I take a cinema basematerial and drop it onto my object, then the texture tag is set to uvw-mapping by default. If I use my own shader and drop it on my object, then spherical projection is set by default. This depends on the material I use, but not on the kind of object. So somehow it has to deal with or even can set by the material/shader. But how?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 15/02/2004 at 16:22, xxxxxxxx wrote:
Some things I can think of:
- I assume that ptagdata is what you get from GetDataInstance(), right? (GetData() won't work in that way.)
- Perhaps you need to call tag->Message(MSG_UPDATE)?
- A more fool proof way to set parameters in C4D R8 is to use SetParameter(). That would be:
tag->SetParameter(DescLevel(TEXTURETAG_PROJECTION), GeData(TEXTURETAG_PROJECTION_UVW), 0);