Tag Info

Hot answers tagged

46

Triangles have many properties that make them easier, and therefore faster, to draw. Four points or more may not be on the same plane, but three points always are (ignoring degenerate cases). This has the interesting property that scalar values vary linearly over the surface of the triangle. Even when the triangle is projected on the screen, scalar values ...


42

The bottom line is Triangle Rasterization, which is how computers render objects to the screen. Though others say it more elquently than I: All 3D objects that we see on the computer screen are actually made of tiny little geometrical objects often called primitives. Quadrilaterals, triangles, n-gons etc. are example of primitives. We will concentrate on ...


8

Three points (a triangle) ALWAYS define a flat plane. In other words, given any three points, you can always create a flat plane that can cut through all three points. However the same is not always true of four points. You can have four points all on a plane, but you can also have four points that aren't on a plane.


7

Judging by the fact that you can arbitrarily choose between two $3500 tools to work with, I guess the price doesn't really matter. I don't really think it matters which of the two you use -- I'm sure some UIs/workflows will just click better with some than others. It seems like you're asking for advice between using a mechanical pencil or a wooden pencil ...


5

Maybe it's just a language barrier but there seems to be some misunderstanding here. Maya and Max are 3D model authoring tools. Either one of these are going to spit out models that pretty much whatever 3D engine you want can use. It doesn't matter what platform it's going to be on. How else would you author 3D models for your 3D engine? As far as ...


5

Maya creates objects in a proprietary file format, and the approach to convert these objects in a way that can be read in C++ is very open-ended and left for the user to decide. Since you don't give much detail, I think using the ASSIMP library is the most straightforward solution. Maya supports export to OBJ (and I think 3DS, I'm not sure though), which ...


5

If you want seamless looping animations, create your animations so that the start of the loop is the same pose as the end of the loop. Then when one loop ends, you can simply start playing the second loop without needing to make any changes. Alternatively, you can blend between the two animation poses. This is where you'll use your blendTime value. Spanning ...


4

It's not "game engines" that do this - all the 3D software you use does this. It just doesn't tell you about it, and your professor seems fairly under-qualified if he doesn't know this. They exist in the computer's memory even if the software is hiding them from you. All 3D programs have an option that will make the triangles visible. They will also have ...


4

The Pragmatic Programmer devoted a section to this: We think it is better to know one editor very well, and to use it for all editing tasks.... Without a single editor, you face a potential modern day Babel of confusion... Choose an editor, know it thoroughly, and use it for all editing tasks. If you use a single editor (or set of keybindings) across all ...


4

Fur is usually implemented as a render effect -- there isn't a 1:1 correspondence with geometry, although geometry may be used to achieve the effect (textured polygonal strips, for example, or the newer and better looking 'shells and fins' methods), so there isn't really anything to export unless you were you convert the fur representation to 3D geometry. ...


3

The matrix I'm using is a row-major matrix used by OpenGL. Here's what it looks like: [ X1 Y1 Z1 WX ] [ X2 Y2 Z2 WY ] [ X3 Y3 Z3 WZ ] [ TX TY TZ CZ ] What you have is actually three matrices: a rotation matrix, a scale matrix and a translate matrix. This is because virtually any 4x4 matrix can be broken down to two or more matrices that together form the ...


3

Trying to help here, but need more info. This is a typical problem, but causes can be several. Are you sure Uv mapping is done? The size of the texture wont help if the UV mapping is badly set, so it could be just mapping a small piece of the texture, and that is why it shows so big pixels. Check that the UV mapping is good and correct, first of all. A ...


3

I have used Maya in a production environment for several years as an artist, across multiple versions, and I have to say that learning a newer version of the program is going to be more beneficial than sticking to 6.5. If you are truly serious about getting back into the program I would recommend that you shop around and find an updated textbook- the ...


3

Maya should be fine for the purpose. Some people like to use Max for games instead, but if you know Maya, stick to that. As to your second question - as long as you only have one (or a few) models, you can stick to a simple rule of thumb. Don't add any polygons that you don't need. By that I mean that if you have a more or less flat surface, and it's split ...


3

You make the model however it needs to be made to appear correctly and/or animate correctly. The collision shape does not need to be the same as the model and the collision shape can be a combination of multiple different shapes. If the inside of the cube is to be collided with, you can create collision shapes that just occupy the solid parts of the model, ...


2

A triangle is the simplest primitive that can be described in isolation because it has three points, fewer than which do not describe a surface in 3D. Because a triangle can be considered in isolation, it is possible to make a piece of code or silicon that is capable of rendering only a single triangle, which via the power of repetition can render any ...


2

If we assume that getting 4 points to be co-planar is not a problem (it is, as the others have pointed out, but bear with me) then you find that rendering an arbitrary trapezium (which is what a quadrilateral will usually look like when transformed into screen space) is not particularly different from rendering a triangle - in fact, it pretty much works out ...


2

As long as the triangle is defined by three non-colinear vertices (read: none of the angles are exactly Pi), then the vertices define a unique plane. A quad is, of course defined by four vertices. It's perfectly possible for those vertices to be non-coplanar. In that case, your quad would really be two triangles divided by a diagonal on the quad. That's ...


2

There's only one way to triangulate a triangle vs. 'n - 2' ways for an n sided polygon. So, triangles are ultimately the least ambiguous way to define a polyhedral shape. Also, as other posters have indicated, there are lots of ways to accelerate triangle (rather than quad or higher) rasterization (constant z is one of my favourites). Also, it's easier to ...


2

The issue was due to z-fighting in an inaccurate depth buffer. The reason the depth buffer got inaccurate was because your camera's near and far clipping planes had gotten too far apart. Basically, the depth buffer has a limited number of possible depth values that are spread out between the near and far clipping planes. Thus as the clipping planes get ...


2

I just wrote my own exporter to my own custom format by reading and messing around with stuff from Rob the Bloke's site. I haven't actually tested exported joints yet but according to my sources and current work they are not stored in the simple XYZ like your mini format prints out. Instead each poly is given a weighted set of transforms and the transforms ...


2

Solid characters doesn't mean much, computers aren't that smart yet :). You likely want to implement collision detection. Each character would have self collision detection and collision detection against other characters. You'd also create procedures to stop body parts from going further when a collision is detected. Unfortunately, this isn't generally ...


2

Here's a FAQ I wrote last year on importing FBX. At that time, FBX was the standard format for imports of 3D models, and I guess it still is. You can model with Blender (free), and use its FBX exporter, then pull those into Unity. Using the FAQ, you can ensure your FBXes come into Unity correctly. At least from Blender, you could export textured models with ...


2

Saving it as a very simple text format or binary (wavefront obj is a common one) and then parsing it in the usual way. This is exactly the same as any other data parsing task. A vertex buffer object is essentially just an array of data that's held in video card memory. You'll probably want to read the data into system memory first and then convert it to a ...


2

The mesh is just exported vertices. The order in which they're exported is the standard for defining which face is drawn. If you want to have both faces drawn, simply configure your model rendering code to draw faces defined by both clockwise winding and counter clockwise winding. With OpenGL or DirectX this can be as simple as disabling backface culling. ...


2

In Panda3D, a light is represented by a node in the scene graph, just as a geometry node represents a geometry mesh. A light source is typically attached under a specific node in the scene graph (in your case, under a node representing the vehicle, so that the light moves with the vehicle). Then, the light is explicitly enabled on the nodes that it needs ...


2

There's a third approach you didn't mention, and this is what I would recommend: Continue using your Maya 6 books but use the latest Maya software. Not that much has changed, especially in the fundamentals/basics. Just refer to online tutorials or the learning videos that come with Maya to fill you in on anything that's changed from what the book says. For ...


2

I have been learning how to use Blender on CGcookie, that is why I will recommend you the page - http://cgcookie.com/ It gives you tutorials on 3DS MAX and Blender which is similar to Maya (there is a Maya Mode), and its definitely worth getting the premium access (I learned a lot there). + its only ~ $30 for 90 days I am not saying that open source is ...


1

I don't know of any tools that allow you to directly convert complex shaders from Maya or 3Ds Max to GLSL/HLSL (although if you do find it, let me/us know!). For simple shaders (lambert, phong) you can probably write your own parser (tools like Havok Content Tools already parse the shaders [again, simple shaders] and can give you a material which you can ...


1

You can export it in whatever way you want by writing your own exporter plugin for Maya. You could also try going via FBX or another well supported format, and convert to your own format from that.



Only top voted, non community-wiki answers of a minimum length are eligible