Posted: 22nd Jun 2007 15:59
Yeh your real clever "Crit".


Sorry, I didn't mean to offend. Without face to face contact, things don't always come out as intended. Here is how you multiply two matrices together:

a matrix is just a box of numbers. They can be any size, but they tend to be 4x4 in 3d programming.

so imagine you have 2 matrices you want to multiply. I am labeling each position with a different variable name.

+ Code Snippet
|a1 b1 c1 d1|      |a2 b2 c2 d2|      |a3 b3 c3 d3|
|e1 f1 g1 h1|      |e2 f2 g2 h2|      |e3 f3 g3 h3|
|i1 j1 k1 l1|   X  |i2 j2 k2 l2|   =  |i3 j3 k3 l3|
|m1 n1 o1 p1|      |m2 n2 o2 p2|      |m3 n3 o3 p3|


You can find the values for the result matrix witht the following formulas:


+ Code Snippet
a3= a1*a2 + b1*e2 + c1*i2 + d1*m2
b3= a1*b2 + b1*f2 + c1*j2 + d1*n2
c3= a1*c2 + b1*g2 + c1*k2 + d1*o2
d3= a1*d2 + b1*h2 + c1*l2 + d1*p2

e3= e1*a2 + f1*e2 + g1*i2 + h1*m2
f3= e1*b2 + f1*f2 + g1*j2 + h1*n2
g3= e1*c2 + f1*g2 + g1*k2 + h1*o2
h3= e1*d2 + f1*h2 + g1*l2 + h1*p2

i3= i1*a2 + j1*e2 + k1*i2 + l1*m2
j3= i1*b2 + j1*f2 + k1*j2 + l1*n2
k3= i1*c2 + j1*g2 + k1*k2 + l1*o2
l3= i1*d2 + j1*h2 + k1*l2 + l1*p2

m3= m1*a2 + n1*e2 + o1*i2 + p1*m2
n3= m1*b2 + n1*f2 + o1*j2 + p1*n2
o3= m1*c2 + n1*g2 + o1*k2 + p1*o2
p3= m1*d2 + n1*h2 + o1*l2 + p1*p2


If you are planning on doing this in DBPro, I suggest using their built in 3d maths commands, which includes matrix multiply. But if you wanted to code it out manually, you could do so with the above reference.
Posted: 22nd Jun 2007 16:24
Yeh your real clever "Crit". Before this turns nasty, cut the sarcasm or actually say something useful. What I mean by "What am I meant to do with that function?" is how do I implement it. And I was asking Diggsey.


Wow C0wbox, this is just absurd. Crit didn't do anything but quote you. It just so happened that the two quotes together were absurd. That's your fault.

You want to make your own 3D rendering engine in Dark Basic, a 3D engine. This in and of itself is absurd, as it would be incredibly slow and useless. It's been done plenty of times before. It's a showing of coding prowess, but has no use. Why do you want to do this? Just go make a game.

The DOT command is incredibly slow, it's purely 2D. 3D requires 3D hardware support. In using 2D, you are creating something that is severely limited.

Stop being a turd. If you don't understand the articles given in this article then you aren't ready for a project like this. Do something you can handle, go make a game.

And stop typing that stuff at the end of all your posts.
Posted: 22nd Jun 2007 17:45
@Crit Thank you for being so open and forgiving of my "jumping to conclusions". I do actually find what you said helpful (with the matrix multiplication.)

@Cash Curtis II I couldn't be bothered to read your post properly because clearly you are only here to have a go at me:
C0wbox, this is just absurd.

Stop being a turd.

And stop typing that stuff at the end of all your posts.


My actions may have been forward towards Crit, but I found his first post deeply unhelpful.

My "text" that I type at the end of my posts may not be necessary but, why do you care? They aren't preventing anything in this thread and they aren't disadvantaging anyone. There has also been nearly a whole thread devoted to people who don't like the way I type 3 small lines at the end of every post, and there all like, put it in your signature. But once again, I don't see it as grounds to annoy anyone. I also found your post arguing your complaints over my actions unhelpful. So unless you have anything useful to say, don't say anything at all.

Cowbox
Soharix HQ
http://www.soharix.homestead.com/
Posted: 22nd Jun 2007 18:01
I couldn't be bothered to read your post properly because clearly you are only here to have a go at me:

Well then don't reply. I read every single post in this thread completely before posting.

That is you're problem though, you can't be bothered to read things that people tell you that you should. If you can't read my simple little post then you'll never understand the information presented in this thread.

Your hand typed signature text is just silly. Put it in your signature properly.
Posted: 22nd Jun 2007 18:06
And as the last thread ended. The arguement was continued. I personally don't care whether I replied to your thread or not. I didn't read it properly because all you were trying to was flame me so I didn't see any reason in paying attension to you.

This thread should be locked by a mod. And I will request it if you speak again of this subject (argueing) or my typed-signature.

But I am here to learn, so I will speak nothing of it.

Cowbox
Soharix HQ
http://www.soharix.homestead.com/
Posted: 22nd Jun 2007 18:09
It's official, you're a turd. The only way to stop being a big turd is to address the points that I raised.
Posted: 22nd Jun 2007 19:41
I posted before this got locked!

PS
C0wbox, did you even look at the 'matrix multiplication' topic in wikipedia before asking here?
Posted: 22nd Jun 2007 20:45
Well, the thread isn't locked.

And I didn't see a matrix multiplication bit in that wikipedia, and I've always been slightly against Wiki, it doesn't put things in a form that I find easy to read. So I didn't understand it, and I thought if I asked here I'd get a Person2Person answer. And I understand it now.

So have you actually made an engine Diggsey? Or something using the things being discussed in this thread?

Cowbox
Soharix HQ
http://www.soharix.homestead.com/
Posted: 23rd Jun 2007 2:28
@C0wbox
I have, in VB.net, but it was very slow, and would be unworkable above 256x256. DB would be even slower. (Mine did actually colour in the triangle though
Posted: 23rd Jun 2007 13:35
=0

Cool. Its just I've been trying for years to make what I'd like to call a 3D engine and failed many times, about all I can do is make some points and join them up to make a 3D plain or a 3D box. But I can only make the object move in the X and Y dimensions and I can't texture it.

Cowbox
Soharix HQ
http://www.soharix.homestead.com/
Posted: 23rd Jun 2007 15:45
You'd be better off learning to program DirectX or OpenGL. If you have Visual Studio, then use C# or VB to start. There are lots of tutorials on the internet, and when you understand it, you can then try it in C++.