if you are busy atm , if you send me code (pm) I can easily make flownodes , with your credits of course

I also used a FlowNode, all what you need to create a second viewport is posted here in the thread. The FG Plugins ill create are for those who cant programm. All who can (& cant wait ^^) shall find the things to do it here in the thread (jveer & z_kaiser have done it in the blink of an eye :happy: ).

To the code, its funny, but ive answerd this question on the first page of this thread: :cheesy:

To the point with the entire source code:

The code was only for trying to accomplish more viewports, so ive changed it a lot. Last point was to create some virtual material for objects. So i asked here in the forum if someone knows how i can allocate a texture per code to a material, but sadly, no one has answerd. ;( As i said before, ive tryed the hole stuff two weeks, so i messed up the code and thats the reson i havent posted it here.If you have problems to make a second view port even with the code snippets ive posted before, i think you wont be happy with my code, because he is like a ground zero in the programming world. :happy:

I'm still trying to figure out how you actually constructed a texture that i can use e.g for Draw2dImage.While i get an unsinged int array from ReadFrameBufferFast any texture creating function i could find seems to only take unsigned char arrays...

Originally posted by Jonzki1I've kept a close eye on this thread, great work! Can you draw the secondary viewport onto the screen, so that one could for example have a camera follow him and show what happens behind his back?

CCamera camOrigin = gEnv->pSystem->GetViewCamera(); //first save the curren camera m_scopeCamera = camOrigin; m_scopeCamera.SetAngles(Ang3(0,0,0)); gEnv->pSystem->RenderBegin(); //let the framework know that it will start with the rendering pRenderer->SetCamera(m_scopeCamera); //set a new cam gEnv->p3DEngine->RenderWorld(pRenderer->GetRenderType(), pRenderer->GetCamera(), "cam_try1", -1, FILTER_LINEAR ); //render the world to the framebuffer pRenderer->ReadFrameBufferFast(uTexSource, 800, 600); //read the framebuffer pRenderer->SetCamera(camOrigin); //dosnt know if its nexessary - for some reason ive deactivated it... the code is full of changes because of try and error ^^ gEnv->pSystem->RenderBegin(); //let the framework know that it can do what it want to do ^^

I wanna use Draw2Dimage from pRenderer, but dunno how to use output from ReadBufferFast ( ARGB unsigned int) with it . Thanks

Ah, hm ok - the info from readframebufferfast is only a bitfield with the informations, you must create a texture. Im not on my laptop - thats because im this week not at home (... but my laptop :whistle: ), so sry i cant help you with looking in my code.

- the "tex" integer holdes the id of the texture.- the "&" gives the address of the array - thats necessary if you dont create the array like this:EDIT: Sry, dont listen to crap ive wrote so late that my mind fools my selfe, the "&" would necessary if you refere to a special position in the array like uTexSource[3]

I dosnt know if the cplayer::update function has the right "position" in the queue - you could try to make a node where you inheriate from frameobject - after registrating the node like a listener, you can draw the image in the inheriat hudobject::update to the screen.

This is wrong because the *4 is if you use the ReadFramebuffer function - here you need a unsigned char array -> char == 8bit >> ARGB 4 x 1 char -> a unsigned int has normaly with the current os 32 bit.

If i remember right, the setangels dosnt work... right. Sry cant be specific because i only remember that there where some problems with this. Perhaps you should try to comment it out and try first .setPos(vec3(50.0f, 50.0f, 50.0f)) - so it wouldnt draw your view in the texture and you can check where the errors are.

... you create all the time a new texture (if im right), perhaps you should update the created texture in the buffer - there is some function who can do this in the renderer (updatetexture or updatevideobuffer or something like this).

-> Ive insered a "&" in your code - thats because you need a pointer in this function - with the "&" "tag" (sry my bad english) you get the memory address (its more or less the same as a pointer - the difference is that if you use "unsigned int * pointer = new unsigned int" its on the heap - in your way its on the stack. But a pointer holdes the address of the alocated memory - to get it from a variable who is on the stack - you need "&").EDIT: Sry, dont listen to crap ive wrote so late that my mind fools my selfe, the "&" would necessary if you refere to a special position in the array like uTexSource[3]

But apparently all this does is drop my FPS from 100+ to 8 and create a really weird radial blur all over the screen.

Youll get a realy high framedrop - but 8 is realy a little bit low. The "weird radial blue" is a sign that you do something - but you doesnt do it right. So it is bad - but actually its good because it shows you that you are on the right way.

-------------------------------------------------------------------

So friends, hope i could help you (especially durly, sry that ive understood you right at the first time). If there are more questions, or if it dosnt work, post again, ill try to help you so good as i can. Please excuse my bad english.

Blue

-------------------------------------------------------------------

EDIT:Why no one loughs about me or correct the bullshit i wrote yesterday? :puppy: Good that i had the feeling that ive posted something wrong yesterday and looked today again in it - im realy sorry.