3d interview questions
Top 3d frequently asked interview questions
Anyone knows a source, website where I can get some good implementations of 3D intersection algorithms, like
- intersection of sphere and sphere
- sphere/ellipsoid
- sphere/cuboid
- ellipsoid/ellipsoid
- ellipsoid/cuboid
- cuboid/cuboid
- sphere/ray
- ellipsoid/ray
- cuboid/ray
- triangle/ray
- quad/ray
- triangle/triangle
- quad/quad
Source: (StackOverflow)
I have used WPF's 3D capabilities for learning, and for a few implementations, and I have found it to be very capable, and I am also learning DirectX 11, and it is very tricky compared to using 3D classes in WPF. I have only used WPF 3D for very basic stuff, my question is:
Is WPF 3D equally good for advanced applications such as 3D modelling tools, game engines and 3D simulations etc to be an alternative to DirectX and OpenGL?
If there is anything else in the same league, please mention it too.
Source: (StackOverflow)
I'm trying to load a 3D model into Three.js with JSONLoader
, and that 3D model is in the same directory as the entire website.
I'm getting the "Cross origin requests are only supported for HTTP."
error, but I don't know what's causing it nor how to fix it.
Source: (StackOverflow)
What tutorials and libraries are available which can help beginners to develop 2D and 3D games on Android using OpenGL-ES? I'm looking for tutorials which can help me learn OpenGL-ES, and I'm looking for OpenGL-ES libraries which can make life easier for beginners in OpenGL-ES.
Since Android is still small, I guess it may be help-full to read iPhone OpenGL-ES tutorials as well, as I suppose the OpenGL-ES functionality is much the same.
I have found the following useful information which I would have liked to share:
Android tutorials:
Other Android OpenGL-ES information:
iPhone OpenGL-ES tutorials (where the OpenGl-ES information is probably useful):
As for libraries which a beginner might use to get a simpler hands-on experience with OpenGL-ES, I have only found Rokon, which is recently started, thus has many holes and bugs. And it's gnuGPL licensed (at the moment) which means it cannot be used, if we wish to sell our games.
What else is out there?
Source: (StackOverflow)
For what purposes we are using Model View Projection Matrix?
Why do shaders require Model View Projection Matrix?
Source: (StackOverflow)
I have a 3-tuple data set (X,Y,Z points) that I want to plot using R.
I want to create a surface plot from the data, and superimpose a contour map on the surface plot, so as to create the impression of the contour map being the "shadow" or projection from the surface plot. The contour map is to appear below the surface plot.
My data set looks somewhat like this:
Axis | Data Type
-------------------
X | Date value
Y | Float value
Z | Float value
How can I achieve this?
Source: (StackOverflow)
Talking about bump mapping, specular highlight and these kind of things in OpenGL Shading Language (GLSL)
I have:
- An array of vertices (e.g. {0.2,0.5,0.1, 0.2,0.4,0.5, ...})
- An array of normals (e.g. {0.0,0.0,1.0, 0.0,1.0,0.0, ...})
- The position of a point light in world space (e.g. {0.0,1.0,-5.0})
- The position of the viewer in world space (e.g. {0.0,0.0,0.0}) (assume the viewer is in the center of the world)
Now, how can I calculate the Binormal and Tangent for each vertex? I mean, what is the formula to calculate the Binormals, what I have to use based on those informations? And about the tangent?
I'll construct the TBN Matrix anyway, so if you know a formula to construct the matrix directly based on those informations will be nice!
Oh, yeh, I have the texture coordinates too, if needed.
And as I'm talking about GLSL, would be nice a per-vertex solution, I mean, one which doesn't need to access more than one vertex information at a time.
---- Update -----
I found this solution:
vec3 tangent;
vec3 binormal;
vec3 c1 = cross(a_normal, vec3(0.0, 0.0, 1.0));
vec3 c2 = cross(a_normal, vec3(0.0, 1.0, 0.0));
if (length(c1)>length(c2))
{
tangent = c1;
}
else
{
tangent = c2;
}
tangent = normalize(tangent);
binormal = cross(v_nglNormal, tangent);
binormal = normalize(binormal);
But I don't know if it is 100% correct.
Source: (StackOverflow)
Back in the day it was easy; You made your own 3D stuff, then came DirectX, then came OpenGL. For .Net developers MDX was nice. Then XNA took over for MDX, but it its not the same. XNA seems to be very game-centric with all the content pipelining and preloading of fixed models and stuff.
So where do we stand now? After a couple of days of reasearch/trial&error I feel everywhere I look I find half developed libraries, libraries with overhead, severe limitations or libraries that are overly complex.
I want to do "free-hand" 3D stuff. For instance displaying 200k dots on a screen in 3D and move them around at 30fps (Kinect depth image). I want to make 3D screensavers, audio analysis plugins, etc. All of which is not prefabs for a content pipeline, and which require high performance. And (ehm) I want to do it from .Net.
Anyone have experience with libraries that are easy/understandable and still gives some fair amount of freedom and speed?
Source: (StackOverflow)
I have used a 3D iphone (.pod) model, its showing correctly in PVRShammon.
But when i imported that 3D model into isgl3D, its not showing correctly with the textured image, the image is covering only some of the areas of the object with some lines and triangles.
Please help me to do this in a correct manner.
Thanks in advance...
_cameraController = [[Isgl3dDemoCameraController alloc] initWithCamera:self.camera andView:self];
_cameraController.orbit = 10;
_cameraController.theta = 20;
_cameraController.phi = 0;
_cameraController.doubleTapEnabled = NO;
Isgl3dPODImporter * podImporter = [Isgl3dPODImporter podImporterWithFile:@"iPhone5Spod.pod"];
[podImporter printPODInfo];
[podImporter buildSceneObjects];
Isgl3dTextureMaterial *material2 = [[[Isgl3dTextureMaterial alloc]
initWithTextureFile:@"DiffuseBody2.jpg"
shininess:0.0
precision:Isgl3dTexturePrecisionHigh
repeatX:YES
repeatY:YES] autorelease];
mesh2 = [podImporter meshAtIndex:4];
node2 = [self.scene createNodeWithMesh: mesh2 andMaterial:material2];
mesh2.normalizationEnabled = YES;
node2.position = iv3(0, 0, 0);
node2.rotationY = 180;
[podImporter addMeshesToScene:self.scene];
Isgl3dLight * light = [Isgl3dLight lightWithHexColor:@"FFFFFF" diffuseColor:@"FFFFFF" specularColor:@"FFFFFF" attenuation:0.000];
light.lightType = DirectionalLight;
[light setDirection:-1 y:-1 z:0];
[self setSceneAmbient:[Isgl3dColorUtil rgbString:[podImporter ambientColor]]];
[self schedule:@selector(tick:)];
For More Information Please have a look at the image.
Output image in isgl3D view
Thanks in advance...
Source: (StackOverflow)
I am unsure of how to describe what I'm after, so I drew a picture to help:
My question, is it possible within OpenGL to create the illusion of those pixel looking bumps on a single polygon, without having to resort to using many polygons? And if it is, what's the method?
Source: (StackOverflow)
Is it possible to create a simple 3D model (for example in 3DS MAX) and then import it to Android somehow? I work in Eclipse with Android plugin, if that's of any importance.
Source: (StackOverflow)
I search how to plot something with less instruction as possible with matplotlib but I don't find any help for this in the documentation.
I want to plot the following things :
- a wireframe cube centered in 0 with a side length of 2
- a "wireframe" sphere centered in 0 with a radius of 1
- a point at coordinates [0, 0, 0]
- a vector that starts at this point and goes to [1, 1, 1]
How to do that ?
Thank you very very much !
Source: (StackOverflow)
Looking for an easy to use 3D Java Engine API (i.e. not wrapper) that has a good community and good development. Extra features (i.e. audio, input, etc.) are not necessary but nice.
List of the most popular Java 3D graphics APIs I found:
Wrappers / Low Level
- JOGL - Strong community / Good support / Active
- Java3D - Abandoned (or slowly dying), phased out Scene Graph (or re-tooling into JavaFX?)
- lwjgl - Open GL wrapper, with audio and input handling / Active
Engines
jMonkey Engine - Wikipedia - Active
- Branching between version 3.0 and 2.0 (may hurt community)
ogre4j - Wikipedia - Active
Bindenlicht - No Wikipedia! - Not active
High Level (Not designed for gaming)
- Processing - Doesn't seem suited for gaming but for graphics visualizations and demos
- Jzy3d - An easy to use Java API for 3d charts (surfaces, scatters, bar charts, etc). Built on top of JOGL
Update: Please pick a JAVA engine and explain why its your choice! Thanks!
Source: (StackOverflow)