Search found 54 matches

by Mikhail9
Tue Mar 26, 2013 2:03 am
Forum: Advanced Help
Topic: getInverse call failing
Replies: 5
Views: 592

Re: getInverse call failing

most of teh array is set to 0 or 0.001, element 15 is set to 1.0. This could be why. A matrix that is very close to zero everywhere but one element is ill-conditioned and has no calculable inverse (or at least not one you can compute with limited computer precision). The behavior could be undefined...
by Mikhail9
Tue Feb 05, 2013 3:48 am
Forum: Advanced Help
Topic: Lighting shader design question
Replies: 6
Views: 1400

Re: Lighting shader design question

It's too bad you didn't get more answers to this. I was hoping for some Irrlicht-centric insight. Mel's answer helps, of course, and I took the opportunity to learn more about deferred rendering, so that's good. How to make that work with the Irrlicht rendering pipeline isn't so obvious to me, but I...
by Mikhail9
Sat Feb 02, 2013 4:31 am
Forum: Game Programming
Topic: Preparing for performance issues (textures)
Replies: 16
Views: 4633

Re: Preparing for performance issues (textures)

Thanks, Mel. So let's make sure I understand: less draw calls = batching geometry (even if it means going beyond 16 bit indices?) [You wouldn't batch moving objects into new vertex buffers every frame, though, right? Don't they require individual draw calls?] smallest amount of material changes = us...
by Mikhail9
Fri Feb 01, 2013 3:46 am
Forum: Game Programming
Topic: Preparing for performance issues (textures)
Replies: 16
Views: 4633

Re: Preparing for performance issues (textures)

Are big texture atlases (how big?) and maximal batching the route to minimize frame draw times? I know you should minimize draw calls, meaning batching, but also context switches, which I assume translates into minimizing the number of materials. Can somebody break down for me the best practices for...
by Mikhail9
Fri Dec 28, 2012 4:34 am
Forum: Beginners Help
Topic: Gimbal lock and quaternion rotation issue
Replies: 9
Views: 3701

Re: Gimbal lock and quaternion rotation issue

Quats can be really hard to visualize. Look at a variety of different tutorials on the web until you start to get a picture of how they work. Don't give up too easily!
by Mikhail9
Wed Dec 26, 2012 6:17 am
Forum: Project Announcements
Topic: A better room for the demo [WIP]
Replies: 55
Views: 16401

Re: A better room for the demo [WIP]

I'm confident you can afford it.
by Mikhail9
Thu Nov 29, 2012 3:48 am
Forum: Beginners Help
Topic: Fullscreen issues
Replies: 17
Views: 1480

Re: Fullscreen issues

Is it possible your video card doesn't support your requested resolution? Mine only goes down to 640 x 480 using DirectX. I doubt GL would go lower.
by Mikhail9
Thu Nov 01, 2012 2:42 am
Forum: Code Snippets
Topic: [Tutorial]Using HLSLshaders for bumpmapping + lighting (WIP)
Replies: 28
Views: 7873

Re: [Tutorial]Using HLSLshaders for bumpmapping + lighting (

Confirmed for HLSL. And not just things that get set to zero either: If the variables aren't referenced in the shader, they are stripped out entirely and you get the endless "cannot find variable to set" errors.
by Mikhail9
Mon Jan 23, 2012 4:09 am
Forum: Beginners Help
Topic: Loop without device->run()
Replies: 5
Views: 397

Re: Loop without device->run()

From my experience, i can't tell really, but my guess is that the messages that aren't catched by the Irrlicht's message handler will go to the Direct Input handler you create, so, it is posible. But anything that relies on the input system of Irrlicht may not work properly (FPS and Maya cameras, t...
by Mikhail9
Wed Dec 07, 2011 2:55 am
Forum: Beginners Help
Topic: tile based world irrlicht UPDATE - example!!
Replies: 7
Views: 604

Re: tile based world irrlicht I need help

I'm inclined to agree that this is some sort of position rounding error either in your code or inherent in the billboard scene node. I have created a tiled world this way (by just drawing square scene nodes, not by using billboards) and I didn't have this problem. However, I did learn quickly that o...
by Mikhail9
Sun Jun 05, 2011 6:45 am
Forum: Beginners Help
Topic: Going Clockwise or Counter-Clockwise [SOLVED]
Replies: 4
Views: 532

Re: Going Clockwise or Counter-Clockwise

Notice that no matter what, you are never more than 180 degrees from the orientation you are seeking. Consider that case special (because you can turn in either direction). In all other cases, one direction is a shorter rotation. So compute the "delta": delta = current - desired If the mag...
by Mikhail9
Sun May 08, 2011 4:33 am
Forum: Beginners Help
Topic: Rotating a Vector
Replies: 8
Views: 1597

I would try to get the a2 this way: (Let "x" denote cross product) Since the normal of the plane the circle is on is (v1 x v2) a2 would be (v1 x (v1 x v2)).normalize Yep, look up the vector identity for repeated cross products and you'll see it reduces to the form for a2 that I gave. Fewe...
by Mikhail9
Sun May 01, 2011 5:32 am
Forum: Beginners Help
Topic: Rotating a Vector
Replies: 8
Views: 1597

Did you fix my error when you tested it? That second unit vector was a little off. It is supposed to be whatever part of v2 doesn't point along v1. a1 = v1.normalize is the first unit vector a2 = (v2 - v2.dot(a1) * a1).normalize is the second unit vector Now you can rotate v1 through theta radians b...
by Mikhail9
Sat Apr 30, 2011 10:43 pm
Forum: Beginners Help
Topic: Rotating a Vector
Replies: 8
Views: 1597

If v1 and v2 are not colinear, they define a plane, and I think you are saying you want to rotate v1 in that plane. One way would be to find orthogonal unit vectors in that plane and go from there. v1.normaliz e is the first unit vector (v1 - v1.dot(v2)).normalize is the second unit vector Now you c...
by Mikhail9
Sat Mar 12, 2011 8:51 pm
Forum: Beginners Help
Topic: State Manager
Replies: 15
Views: 856

Sudi's method makes perfect sense for any case where you are going to go back to the state you just left, picking up exactly where you left off. This is common in games where you might hit ESC and go into a menu screen, then return to the game. On top of that, it's highly efficient because you just ...