How can I create a good sprites for my app? - drawing

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.

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.

Setting a 3D environment reference

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.

Idea about how to model a building using OpenGL/GLUT?

I'm new to graphics, and I have to make a model of a building for an assignment using only GLUT or OpenGL.
Basically the school building's model( only the exterior portion) is to be made, and I have no clue where to start. Upto now I have drawn polygons, other shapes using GLUT, nothing in which there are multiple shapes. All the drawing upto now is using lines, or points, or polygons and mathematics.
Could you please give me an idea of how to go about it?
Update: I just want to know what steps I can follow to get it done. Some reference links would be awesome!
You could use modeling programs to create your model, and then use tools such as COLLADA to get your model into OpenGL.
The problem with hand-coding a complex object like that is that it takes a great number of lines of code just to define the vertices of the object.
People usually use 3D modeler software to build complex 3D objects, like Maya, 3DSMax or Blender and then export them in a format to be read into your OpenGL application.
Think about what you want your building to look like, and think about what kind of triangles you need to render in order to make that. You can either draw the entire thing in some sort of modelling software, and then import it into OpenGL, or you can come up with the triangles/textures yourself and do it by hand in OpenGL.
The exterior of the building will probably have a similar texture on the whole thing (brick, etc), and then there will be windows, doors, and a roof. Maybe some sort of sign that says "School Building". Take this all into account, what exactly you want your building to look like, and then think about what textures you will need to draw these things.
For example, say you're doing a brick building that is in the shape of a box, with a door and a few windows. I'd use one texture for the brick, and first draw an entire wall of brick. Then, I'd use a grey/blue looking texture for the window, and draw it over the brick wall. Then I'd do the same (different texture) for the door.
Just think about the design, and then just try things out - experiment. Good luck!
I once had a simillar homework. I did it by creating the models with Google SketchUp, then export the models to .3ds file and use my program to render it.
I choose Google SketchUp because it's the easiest to use among those tool I tried. Plus, they had a discount for students. You could also use Blender, which is free but take too much time to learn IMHO. 3dsMax is too expensive to pay for a homework.
To load the model into my program, I used Assimp library.

Playing with OpenGL

Just learning the basics of OpenGL for a class and was looking for something challenging and interesting to try and draw. Any suggestions?
Aiming to photorealism (just plain models, lights, materials, textures, etc.) is one thing, but what is even more interesting in my opinion is demoscene and all kinds of non-photorealistic effects. The idea of a demo is to program some nice animated graphics that automatically change from one effect to another or tell some sort of a story, and have a background music. Here you can find some videos. Just take a look at what some others have done and use your imagination. That's the funniest part of 3D programming in my opinion. Of course what you'll first program would be something extremely simple when compared to those videos on youtube, but everyone has to start from somewhere. Simple also doesn't need to be ugly. Some random suggestions:
mathematical shapes with sin(), cos(), etc.
alpha blending, especially addition blending (glBlendFunc(GL_ONE, GL_ONE);)
terrain rendering
read 3d model data from a file. (Wavefront .OBJ is a relatively simple one)
feedback effects with glCopyTexImage2D, which copies pixels from screen to a texture (in real life you shouldn't use this because it's too slow, but when learning the basics it's ok)
etc...
You might consider building an OBJ viewer. You will get the experience you're looking for, and it's a pretty good project for a beginning 3D graphics programmer, in terms of difficulty.
I believe opengl has built in shapes such as a teapot that you can call and have it draw. For starters, I'd stick with easy shapes like squares, circles, and cones. Try drawing a wireframe model first since that's the easiest, by using either quadstrips ,triangles or just poly lines. After you've gotten that down, learn to set up lighting and materials so you can draw a solid model.
At school we had a very interesting assignement to get started with OpenGL that I will share. The long term goal was to modelize a living room so you basically have to draw:
A table.
Two chairs.
A carpet.
A sofa
Some stuff that you might find interesting to add on the table for
instance a TV!
When you have all the things done, try to polish the scene a little bit by adding some lighting effects!
Hint: for all the objects you simply need to start with a basic rectangle. Then you can construct your scene step by step using translations/rotations.

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!