Setting a 3D environment reference - c++

I'm setting a Frustum camera to create a Virtual Reality environment that looks like a window when you look at the screen. I've checked all the documentation of the SoCamera, SoFrustumCamera, SoPerspectiveCamera and SoOrtographicCamera, but culdn't find a way to set my scene in order to match its borders with the borders of the screen.
I want to do something like this...
https://www.youtube.com/watch?v=Jd3-eiid-Uw
The problem on my code is that the whole scene moves, instead of only the "back" of the scene.
It looks 3D, but doesn't look as immersive as a real window.
Does anyone have a hint or can help me on that? Im making my code in C++, using OpenInventor.
Thanks!!

I think you might need an off-center perspective camera in order to do perspective shifts like in the youtube clip. Take a look at DirectXMath XMMatrixPerspectiveOffCenterLH() function. Maybe that'd help.

Related

How to make such animation in After Effects

I have the basics of AE but I don't know everything, I would like to make an animation like the one in the link, with phone, if someone can tell me where to find such tutorial then that would be great. The animation of the phone is my main problem, it looks like a 3d model in sketch style. https://www.planradar.com/wp-content/uploads/2019/05/iPad_EN-1.mp4
First of all you need vector paths for drawing the tablet/phone it the style you have shown. (like in this video https://youtu.be/zSlXOIsfjLY?t=123)
Next you just need to put that all in 3D via camera settings and each layer as an 3D object and work this out step by step.
I think you should find many examples on youtube for what you are looking for.

Space background in opengl C++

I am working on a solar system and I wanted to have the background filled with stars. What would be the most appropriate way to accomplish this? Is using skybox better then drawing individual pixels?
Any ideas on good tutorials that would help me with either of these? It doesn't have to be realistic. Something simple would work; however I also like to try something more realistic to see how it would look.

How can I create a good sprites for my app?

I have someone that draws everything for me. He is actually drawing it and not using any program... it turns out all right but I have a problem. It looks just like someone drew it and not "real" or "high level of drawing".
Anyways, I want to take the sprite that he made and make it look "lifelike". For example look at the game "sprinkle" (link below), the character in there looks not drawn, I mean like it looks like its 3d but not 3d. I hope that you understand me..
Thanks!
(https://market.android.com/details?id=com.mediocre.sprinkle&feature=banner#?t=W251bGwsMSwyLDIwMSwiY29tLm1lZGlvY3JlLnNwcmlua2xlIl0.)
The scenarios and assets of that game are pretty impressive.
The options you do have:
Model 3D and render as 2D (3dStudioMax and Blender are recommended for games);
Scan draws, stroke with digital tool (Photoshop, Gimp) and use painter skill to it looks like vivid as you want.

2D platform game camera in c++

I was wondering how exactly cameras are programmed in a 2D platform game. How is it programmed only to render whats in the view of the camera without rendering the whole map? Also, whats the proper way to do this?
Lazy foo has some good tutorials on this subject and further http://lazyfoo.net/SDL_tutorials/index.php
navigate to the scrolling tutorial, its in c++ with SDL but the logic should be universal.
There is no secret about that, you can simple check which tiles and which sprites are inside the rectangle that defines the screen and only draw those.
Another trick is to make the cameras always follows the player, but when it gets to the corner of the scenario you stop moving the camera, so you do not show the scenario borders.

Display image in opengl

I am fairly new to openGL. I have a 3d game that I have running, and it seems to go fairly well. What I would like to do is display an image straight onto the screen, and I am not sure the easiest way to do that. My only idea is to draw a rectangle right in front of the screen and use the image as the texture. It seems like there should be an easier way.
This is for menu screens, and things, so if there is a better way to do that as well, please let me know.
I would recommend setting up OpenGL for 2D rendering via gluOrtho2d(); then, load the image into a texture and, as you said, draw it to the screen by creating a polygon and binding the texture to it. A good example can be found here.
You've got the basic idea. The other obvious alternative is to use glDrawPixels() but I think you'll find the texture method has much better performance. If you're feeling frisky, you might also take a look at Pixel Buffer Objects.
Good luck!