MAXON Unveils CINEMA 4D Release 11.5

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 04:10, xxxxxxxx wrote:

User Information:
Cinema 4D Version:    
Platform:      
Language(s) :

---------
MAXON Unveils CINEMA 4D Release 11.5 - Professional 3D Graphics Just Got Easier!

Comprehensive upgrade provides powerful image quality, rendering and workflow enhancements and offers updated version of popular motion graphics module – MoGraph 2 – jam-packed with new functionality to inspire breathtaking 3D animations.

MAXON Computer, a leading developer of professional 3D software, today announced the immediate availability of CINEMA 4D Release 11.5, a comprehensive upgrade to its highly-acclaimed 3D modeling, painting, animation and rendering software. Loaded with new features, CINEMA 4D R11.5 provides improved workflow and productivity, enabling professionals to create high-quality stills and animations quicker and easier than ever before. This release is the culmination of MAXON's leading-edge technology and development. It features a substantially re-tooled and accelerated render engine, an all -new Picture Viewer, enhanced interoperability with leading compositing applications, and a major upgrade to its popular MoGraph module, which features an integrated Dynamics Engine and a host of new additions. CINEMA 4D Release 11.5 also provides full support for the latest operating system offerings from Apple and Microsoft, including Mac OS X Snow Leopard and Windows 7, respectively.

"MAXON is committed to providing powerful enhancements to CINEMA 4D that really improve the productivity of users across various disciplines, including film, broadcast, architecture, product visualization, games, multimedia and more," states Harald Egel, MAXON co-founder and CEO. "The many improvements in the new Release 11.5 will help all customers gain even better results, save valuable time and resources."

"CINEMA 4D gives my design team the ability to make miracles happen within ridiculously tight deadlines," said John LePore, associate creative director for Perception NYC. "The new features and enhancements in Release 11.5, especially those in MoGraph 2, truly augment an already mind-blowing arsenal of creative tools."

Key Highlights of CINEMA 4D Release 11.5

Superior Rendering Performance Including New Bucket Rendering
Significant re-tooling of the render engine in R11.5 helps artists render more rapidly and efficiently. R11.5 takes advantage of state-of-the-art multi-core processors and adds new features such as render instancing and bucket rendering to provide users tremendous improvements in efficiency. Render-intensive tasks such as sub-polygon displacement have been accelerated immensely. CINEMA 4D users can now create scenes of greater complexity, as even billions of polygons can be rendered on modest hardware.

Enhanced Picture Viewer
The new Picture Viewer in R11.5 offers a vast set of creative tools for reviewing and editing images and animations, saving artists valuable time. Features include a render history with the ability to compare renderings, image filtering and adjustments, post filter effects, and improved layer management. The RAM player also enables users to play back animations with sound even whilst the rest of the job is still being rendered. This gives users the ability to check animations for problems as they render.

Improved Interoperability and Integration
Users of Release 11.5 can now more easily integrate CINEMA 4D into existing production pipelines:

* Numerous improvements have been made to CINEMA 4D's highly praised connectivity to Adobe® After Effects®, including support for additional object types.
    * Support for Apple® Motion now includes the export of 3D data.
    * Support for Autodesk® FBX® 2010.0 allows for quick and easy interchange between a variety of 3D applications.

Powerful New Motion Graphics Capabilities
The motion graphics module MoGraph – a staple with CINEMA 4D motion graphics artists due to its quick workflow, fast rendering and easy export to compositing applications – has been upgraded to version 2 and provides powerful new motion graphics functionality. New features in MoGraph 2 include: MoDynamics, an optimized physics simulation package with which hundreds of objects can easily be made to collide or be affected by such forces as gravity or friction; PolyFX for providing quick and easy explosion effects; MoSpline for cloning existing splines and animating them with forces and effectors; and many more exciting features for broadcast artists.

Support For New Operating Systems

MAXON continues to build upon its legacy of providing compatibility with the latest advanced operating system release features
:

* Apple – R11.5 is fully compatible with Mac OS X Snow Leopard, including access to up to 64GB of virtual memory.
    * Microsoft – R11.5 is fully compatible with Windows 7, including enhanced file dialog.

Pricing and Availability
CINEMA 4D R11.5 and the optional MoGraph 2 module are available now from MAXON and its authorized dealers.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 04:59, xxxxxxxx wrote:

Hi,

great. Will MAXON also soon reveil the new SDK docs? 🙂

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 05:01, xxxxxxxx wrote:

The SDK documentation for CINEMA R11.5 will be avaible within the next few weeks.

cheers,
Matthias

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 06:20, xxxxxxxx wrote:

Thanks Matthias. I tried to compile the C4D SDK in the demo but I cannot get it to fully compile. The API is not able to create the universal binary (Command /Developer/usr/bin/libtool failed with exit code 1) and also the SDK itself gives me a comparable error (Command /Developer/usr/bin/g++-4.2 failed with exit code 1) for building the according binaries.

Otherwise the project compiles fine (so no code errors in general)

I have XCode 3.1 and the latest version of OSX 10.5.8 installed. Started the project and compiled.

Any idea?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 06:47, xxxxxxxx wrote:

ok ok, my fault my fault. Wrong permissions set in the folders. 😄

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 01/09/2009 at 07:10, xxxxxxxx wrote:

Until the CINEMA R11.5 SDK is avaible here an overview about some major changes:

Introduction

The R11.5 SDK is no longer backwards compatible in the following areas:

- Shader
- Materials
- Videoposts / Renderer

If your plugins make use of those areas it needs to be recompiled with R11.5 in order to be registered in the application. Otherwise no change is necessary.
When trying to recompile you'll see some compilation errors in your source code, that need to be adapted. Also, if you made use of deprecated functions (with the name 'Ex') those parts need to be updated.
As several data structures have changed substantially the compilation of a Hybrid SDK is no longer possible!

Double Precision

All parts of the render API have been moved to double precision to avoid several reoccuring problems. Note that all geometric points and vectors data should be held in double precision (datatypes LReal, LVector, LMatrix).
Double precision is not necessary for uncritical parts like color calculation.
To convert the datatype Vector to LVector use LV(), from LVector to Vector use SV(), to convert the datatype Matrix to LMatrix use LM(), from LMatrix to Matrix use SM().
All ray and intersection calculations must be done in double precision.

Render Instances

Render Instances are 'regular' RayObjects, that point to the same data as the original RayObject. So 'padr', 'vadr' etc. are all the same as for the original RayObject. Only textures and materials can be different.
Only polygonal objects will be Render Instances - all other objects will occur as regular objects.
Render Instances have the RayObject's member instance set !=NULL. The structure RayObjectInstanceData gives you access to everything you need: instance_of_index is the RayObject index of the original object, 'transform' is the matrix to transform world space points from the original object to the instanced object (still world space). 'transform_inverse' is the path back and 'transform_tensor' allows you to transform normals (see below). 'link' stores the instance object (of type Oinstance) that this instanced RayObject belongs to.

Transformation from original object's point to instanced object: new_point = old_point * instanced_rayobject- >instance->transform;

Transformation from instanced object's point to original object: new_point = old_point * instanced_rayobject->instance->transform_inverse;

Transformation of normal from original object to instanced object: new_normal = !(old_normal^instanced_rayobject->instance->transform_tensor);

Render Instances are not critical for recompilation - and as long as you don't access the 'padr' field of such an object your code should work right away without any problem.

RayHitID

The new class RayHitID replaces the old LONG value that stored information of an object/polygon. It conveniently allows you to set objects with a polygon index, or read this information. SetSecond/GetSecond determine for a quadrangle which part of the quadrangle was stored (A-B-C or A-C-D).

Instead of 'if (lhit==0)' you need to write 'if (lhit.Content())'
Instead of 'lhit=0' you need to write 'lhit.Clear()'

The routines ID_to_Obj and Obj_to_ID have been removed - use the RayHitID class instead.

Deprecated Functions

For most of the 'Ex' routines there is just a newer one that does the same.
For TraceColor(Ex), TraceGeometry(Ex) and GetSurfaceData(Ex) the following statement is no longer true: "if you set last_hit to 0 then BaseVolumeData::lhit will be used". Instead the last hit will stay 0 (no intersection).

Bucket Rendering

C4D now renders the image as buckets. Usually this should have little to no effect on your source code.

VideoPost effects

VP effects that use the structure 'PixelPost' need to be aware that instead of formerly lines they're no presented with lines of a bucket. Make sure you take the members 'xmin' and 'xmax' into account.
VP effects that evaluated the message MSG_VIDEOPOST_CREATERAY need to move the code into the new overload 'CreateRay' that is part of VideoPostData.

RenderDocument

The routine 'RenderDocument' no longer has the parameters left/top/right/bottom. Instead those values are set into the render data BaseContainer with RDATA_RENDERREGION_LEFT/TOP/RIGHT/BOTTOM, also RDATA_RENDERREGION needs to be set to TRUE if only parts shall be rendered.

MemoryManagement

In the past the SDK overloaded the operators new and delete. This is no longer the case. new and delete will allocated and free memory from the operating system, to allow easier linking of DLLs and DYLIBs.
C4D data structures where control is passed on to C4D (so that you don't free it yourself anymore) must be allocated with gNew and gDelete (or bNew and bDelete for arrays). In general, we recommend to make use of gNew/gDelete whereever possible.

Threading

C4D can now run up to 64 render threads simultaneously. Usually this should have little to no effect on your source code.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 19:25, xxxxxxxx wrote:

Thanks for the info Matthias.

I just successfully built my plugin with R11.5. Works quite well.

One thing tho... GetDEnabling() does not work. The elements always stay enabled. Neither in a videopost nor in a materialdata plugin.

Any idea how to fix that?

Thanks in advance!
Yves

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 19:36, xxxxxxxx wrote:

nevermind, fixed.

function definiton differs. before:
GetDEnabling(GeListNode *node, const DescID &id;, GeData &t;_data, LONG flags, const BaseContainer *itemdesc);

and now:
GetDEnabling(GeListNode *node, const DescID &id;, const GeData &t;_data, LONG flags, const BaseContainer *itemdesc);

compiler just eats it but it wont work 🙂

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 22:49, xxxxxxxx wrote:

Does this 'RayHitID' affect GeRayColResult?

Thanks for the heads-up on GetDEnabling(), fused! 🙂

Arggggg, materials again. Ack.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 23:19, xxxxxxxx wrote:

More questions:

1. AnimateDocument()? What's the replacement or should I change my dozens of references to AnimateDocumentExEx()?

2. UVWTag.Set(),Get(),Cpy() : What is the void* dataptr?

3. I see that a bunch of TreeViewFunctions have been made OBSOLETE and return error:

error C2555: 'FaveResultsFunctions::DrawCell': overriding virtual function return type differs and is not covariant from 'TreeViewFunctions::DrawCell'

In the middle of a commercial plugin project, having to update at least two other plugins is going to be distracting with so many changes. We haven't even touched materials yet. ;(

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 23:39, xxxxxxxx wrote:

Hey Robert,

no idea what the "void* dataptr" is or does, but the old functions are still there. They were just renamed to *Slow(). SetSlow(), GetSlow(), CpySlow().

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 23:42, xxxxxxxx wrote:

That was seen but while I'm updating (necessarily) these new methods should be employed. Hey, 'Slow()' infers that the new methods are faster and I can't pass that up! 😉

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 23:44, xxxxxxxx wrote:

yeah, true. i made me a bookmark in VS and will wait for the docs ^_^

(or Matthias answer)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 02/09/2009 at 23:53, xxxxxxxx wrote:

I'm coming to the conclusion that this might involve you using the previously nonrecommended VariableTag::GetDataAddressR/W() and sending it with these methods for the UVWTag. Why that makes a difference in speed is beyond me (if my assumption is correct).

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 03/09/2009 at 03:30, xxxxxxxx wrote:

Coming back to your questions tomorrow.

cheers,
Matthias

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 03/09/2009 at 23:24, xxxxxxxx wrote:

About GetDEnabling() and GetEnabling(), the t_data parameter is constant since CINEMA 4D R11.5.

virtual Bool GetDEnabling(GeListNode *node, const DescID &id;,const GeData &t;_data,LONG flags,const BaseContainer *itemdesc)

cheers,
Matthias

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 03/09/2009 at 23:26, xxxxxxxx wrote:

Quote: Originally posted by kuroyume0161 on 02 September 2009
>
> * * *
>
> Does this 'RayHitID' affect GeRayColResult?
>
>
> * * *

No.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 03/09/2009 at 23:33, xxxxxxxx wrote:

Quote: _AnimateDocument()?
>
> * * *
_


This is now:

Bool ExecutePasses(BaseThread* bt, Bool animation, Bool expressions, Bool caches)

> Quote: _UVWTag.Set(),Get(),Cpy() : What is the void* dataptr?
>
> * * *
_


It works now like this:

> \> const void \*dataptr = uvwtag- >GetDataAddressR(); \> \> for (LONG i=0; i<cnt; i++) \> { \>      UVWStruct res \>      UVWTag::Get(dataptr, i, res); \>       \>      //do something with res \> } \>

> Quote: _I see that a bunch of TreeViewFunctions have been made OBSOLETE and return error
>
> * * *
_


DrawCell() is the only new OBSOLETE function for tree views.

cheers,
Matthias

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 04/09/2009 at 08:05, xxxxxxxx wrote:

Quote: Originally posted by Matthias Bober on 03 September 2009
>
> * * *
>
>> Quote: Originally posted by kuroyume0161 on 02 September 2009
>>
>> * * *
>>
>> Does this 'RayHitID' affect GeRayColResult?
>
>
>>
>> * * *
>
>
>
> No.
>
>
>
> * * *

Good. 😄

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 04/09/2009 at 08:22, xxxxxxxx wrote:

Quote: Originally posted by Matthias Bober on 03 September 2009
>
> * * *
>
>> Quote: AnimateDocument()?
>>
>> * * *
>>
>> * * *
>
>
> _
>
> * * *
>
>
> This is now:
>
> Bool ExecutePasses(BaseThread* bt, Bool animation, Bool expressions, Bool caches)
>
> * * *

Strange, but okay.

> Quote: _
>
>> Quote: UVWTag.Set(),Get(),Cpy() : What is the void* dataptr?
>>
>> * * *
>>
>> * * *
>
>
>
> It works now like this:
>
>
>> const void \*dataptr = uvwtag->GetDataAddressR(); \> \> for (LONG i=0; i <cnt; i++) \> { \>      UVWStruct res \>      UVWTag::Get(dataptr, i, res); \>       \>      //do something with res \> }
>
> * * *

Exactly as I surmised.

> Quote: _
>
>> Quote: I see that a bunch of TreeViewFunctions have been made OBSOLETE and return error
>>
>> * * *
>>
>> * * *
>
>
>
> DrawCell() is the only new OBSOLETE function for tree views.
>
> * * *

Yes, you are correct. I hadn't noticed having not used the others.