Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/08/2005 at 04:17, xxxxxxxx wrote:
User Information: Cinema 4D Version: 9.102 Platform: Windows ; Language(s) : C++ ;
--------- Hello everybody ...
I wanted to render my document and I used CallCommand ... According to c4d_symbols.h .. I found that ... IDM_RENDERALL = 12163 ... So I wrote CallCommand(12163) ... It worked well .. It's equal to ... user clicks Render->Render View ... I want to create a function which is equal to .. user clicks Render->Render to Picture Viewer ...
What constant do I have to use in place of 12163 ... I tested many constants of c4d_symbols.h ... but still I can't find the right one ...
Thanks in advance ... ZawMinTun
On 22/08/2005 at 23:08, xxxxxxxx wrote:
Any idea? I have an alternative to go ... It's also a crisis for me. If I want to save the Multipass output ... how can I do it? Here is my code ..but they are not working well ...
RenderData* rd=docRen->GetActiveRenderData(); Filename fn1("C:\\TestM"); rd->GetData().SetBool(RDATA_MULTIPASS_ENABLE,TRUE); rd->GetData().SetBool(RDATA_MULTIPASS_SAVEIMAGE,TRUE); rd->GetData().SetBool(RDATA_MULTIPASS_SAVEFORMAT,FILTER_BMP); rd->GetData().SetFilename(RDATA_MULTIPASS_FILENAME,fn1);
//I think bug is here BaseContainer bc1(VPBUFFER_DIFFUSE); bc1.SetBool(RDATA_MULTIPASS_ACTIVE,TRUE); rd->GetData().SetContainer(RDATA_MULTIPASS_CHANNELS,bc1); BaseBitmap *CamImage = BaseBitmap::Alloc(); LONG lRet=RenderDocument(docRen, docRen->GetActiveRenderData()->GetData(), NULL, NULL, CamImage,RENDERFLAG_NODOCUMENTCLONE,NULL); ... ...
I don't know how to do with RDATA_MULTIPASS_CHANNELS ... Hope you all can do a favor for me ..!
With all my respects ZawMinTun
On 23/08/2005 at 22:01, xxxxxxxx wrote:
No answer ? That'll be my final question ...
Is RenderData Container usable for checking the Render Settings ... Here is my code for a button's click event ...
BaseDocument *doc=GetActiveDocument(); RenderData *rd=doc->GetActiveRenderData(); LONG l1=0; rd->GetDataInstance()->GetLong(RDATA_XRES,l1); MessageDialog(LongToString(l1));
It always show 0 .... So I want to know ... how to use the container including RDATA_ .... If it's not easy to do that ... please let me know ... I want to turn back just in time ... I hope anybody who know will do me a favor ...
With all my respects ... ZawMinTun
On 24/08/2005 at 01:10, xxxxxxxx wrote:
Just reading your problem short... This gets the x-resolution of the render settings.
LONG w; BaseContainer rdata = m_doc->GetActiveRenderData()->GetData(); rdata.GetLong(RDATA_XRES, w);
Does that help?
On 24/08/2005 at 03:03, xxxxxxxx wrote:
No Zour... But I really thank you for being interested in my problem ... When I tested the following code ... it also shows 0,0,0 ... So I'm starting to think querying a container is something missing in my machine ... or not ... but putting data into container is OK ...
// Assuming a cube is already inserted and it's selected // Button clicking event handler BaseObject *obj=doc->GetActiveObject(); Vector v(100,100,100); obj->GetDataInstance()->SetVector(PRIM_CUBE_LEN,v); EventAdd(EVENT_FORCEREDRAW); v=Vector(0,0,0); obj->GetDataInstance()->GetVector(PRIM_CUBE_LEN,v); MessageDialog(RealToString(v.x)+" "+RealToString(v.y)+" "+RealToString(v.z));
And I also think that MultipassImage is the new content of Version 9.1 ... Problem starts from Render ... but now I'm facing what I did not expect ...
If you confuse my words ... I do apologize ... The real need is that I want to get the output bitmaps of multipass-rendering ...
On 25/08/2005 at 21:40, xxxxxxxx wrote:
Hi everybody ...
Does one of this code work on your machine ...?
LONG l=0; GetActiveDocument()->GetActiveRenderData()->GetData().GetLong(RDAT_XRES,l);
OR
LONG l=0; GetActiveDocument()->GetActiveRenderData()->GetDataInstance().GetLong(RDAT_XRES,l);
Does variable l shows any value ...? How can I inquery that RDATA_ ... Even if it does not work on your machine too ... please let me know ...;-) ... Cos' then I can believe I'm not the only one ...;-);-);-)...
Crazily in that ... ZawMinTun
On 29/08/2005 at 02:07, xxxxxxxx wrote:
No advice at all? )
But I know a little more ... Don't read the container ... fill it ... and do what you want to do ... but there's something still I want to know ... And I want to know is what everybody can know ...but not me ...
How can I use RDATA_Multipass ...? I mean the structure of the container is shown in HelpFile ... Using upper part is easy ... But when come down ...I reach RDATA_MULTIPASS_CHANNELS ... At that ... I found the word like "sub-container" ... I tried to fill it in any way ... but not Ok ...
If you know about render or not ... you can help me if you have ever used deep-hierarchically-structured containers ... Would you do a favor for me ... please ... by looking at the help file RDATA_MULTIPASS structure ... and scroll to RDATA_MULTIPASS_CHANNELS and replying me something ...
Right here waiting ... ZawMinTun
On 29/08/2005 at 08:59, xxxxxxxx wrote:
Now I'm having the same trouble as you had and I recognize that my post wasn't any help, because it simply does nothing at all...
In the modalrenderer.cpp of the sdk I found a hint:
BaseContainer RData = m_doc->GetActiveRenderData()->GetData(); LONG a = RData.GetLong(RDATA_FRAMERATE);
This returns the framerate. RDATA_XRES works as well. Up to now I wasn't able to get the FRAMEFROM and FRAMETO settings.
I coulnd't find the GetLong([Only one parameter!]) method in the documentation and my Visual Studio didn't offer it too. Why is that?
On 29/08/2005 at 19:47, xxxxxxxx wrote:
Hello zour ...
I also thought it like that ... We've thought the very very same way .. and it's a little wrong ... Use it simply like that ...
BaseContainer bc=GetActiveDocument()->GetActiveRenderData()->GetData(); LONG l=bc.GetLong(RDATA_FRAMERATE); MessageDialog(LongToString(l));
If you set your render setting as default ... the dialog will show "30" ....
We a little overlooked the function declaration ... LONG GetLong(LONG id, LONG preset = 0); Second parameter is not essential one ... So I said we thought the same way ... But ... now we knew .. right?
I hope the code segment above will work properly on your machine too ...
With all my best wishes ... ZawMinTun