I did start working on my own formats :)

The problem with them is, is I have to write more stuff to get better performance :) Like right now I'm writing a routine that loads hightmap terrain into a triangle_strip format to be displayed using DrawPrimitave

Not easy imo :) Well, maybe it's because I'm still new :grin:
Posted on 2001-08-30 14:14:09 by Kenny
Ok..
Caleb
so what good are those delphi links going to do me if I want to use straight MASM code? Is there some magical way for me use that code or are you just saying it could be used as an example for me to write my own ?


Can anyone give more information about how to make a model type with animations? Im new to openGL and Masm but I do know about things like vertex arrays and display lists and all that.. is that the best way to go about it?
Am I on the wrong forum or what guys..


Isnt it kinda pointless to try to make your own, when there are already some great model types such as .Md3 already made??? Kinda like reinventing the wheel, no?.. Personally, I dont think I can top quake 3's model types..
Posted on 2001-08-31 18:41:01 by closed_casket
The best way would be to go to a site like flipcode or gamedev.net and read read read. All of their articles are in C++, so prepare to learn two things: How to port, and how to translate the idea, not the language.

The reason why Caleb gave you delphi links is because delphi is a very good language, and an even better one to learn to port off of besides C++. If you really want to learn, I recommend doing C++ tutorials until you get 3d concepts down such as matrix math and stuff like that. Once you can do it in C, you can do it in asm :)
Posted on 2001-08-31 21:50:09 by Kenny
Kenny,
HMmm, ok I think I see what your saying.. we are all kind of on our own here.. Ive been all over flipcode and gamedev lately! some crazy stuff there.. your right though, some of the ideas can be impelented in MASM since you can invoke all the necessary functions in GL. I was hoping there would be some magical C++ to MASM code converter but I guess not ;)

I kind of already understand C code, I just cant for the life of me get things to compile with it! I have been using Dev C++ since I cant afford (or find) VisualC++ and theres all sorts of incompatabilities between the 2.. thats a big big reason why Im so interested in MASM, since I can actually compile code from a .Asm to a .exe with no problems..

I know some things about 3D too, Im not totally new to 3D, Im just new to ASM and GL.. I played around with a few game-making kits already and bought a few thick books, so I basically know what it takes to make a 3d game.. now Im trying to learn how to make a "professional" type 3d game ;) using the best language and the best graphics API availible to me (IMOO anyways)..
Posted on 2001-09-01 10:53:38 by closed_casket
C++ isn't even a standard language. There is a C++ to asm converter though. It's called listing files and a decompiler. Both of which are EXTREMELY hard to use unless you know what your doing, so your best bet is to learn in your mind how to convert from C++ to asm.

I guess the only other advice I can give you is to check out all of Scronty's stuff. He has done a great job of porting from C++ to asm, and you can learn how to do it just by looking at his commented out C++ code :)
Posted on 2001-09-01 12:35:26 by Kenny
Kenny
yea right disassembling heh your a funny guy ;) Yea Ive been following Scronty's work since I came here, all good stuff.. I guess thats the best example for how to port code between C and ASM..

I see what youre saying, I have the magical converter inside my head =)
Posted on 2001-09-01 14:24:58 by closed_casket
exactly... humans are much smarter than any program.
Posted on 2001-09-01 14:32:29 by Kenny
Hello (M)ASM-folk !

I want to tell you about some experience made with D3DX8 ...

- A really nice function is that to create textures from a file, D3DXCreateTextureFromFile. But if you want to do some blittings with this texture or use particular areas to create a D3DXSprite then be aware of the fact, that the dimension of the texture differs from the file-ones. So usually no coordinates except (0|0) will be preserved !
The solution is to use the function D3DXCreateTextureFromFileEx ! with its additional parameters you can avoid the resizing of it !

- If you want to put much text onto your screen, do not use the ID3DXFont-interface, because it slows down your machine. You should use a simple texture or surface to blit the characters from.

- If I have to do several SETRENDERSTATE-calls I prefer the following code:


mov edi, g_pD3DDevice
push FALSE
push D3DRS_LIGHTING
push D3DCULL_CCW
push D3DRS_CULLMODE
push D3DSHADE_FLAT
push D3DRS_SHADEMODE
push D3DBLEND_ONE
push D3DRS_DESTBLEND
push D3DBLEND_ONE
push D3DRS_SRCBLEND

mov esi, 5

@@: push edi
mov eax, [edi]
call dword ptr IDirect3DDevice8.IDirect3DDevice8_SetRenderState [eax]
dec esi
jne @B



That's from me this time ...

Greetings, CALEB !
Posted on 2001-09-07 11:27:41 by Caleb
I just did something simmilar in my FASM conversion, accept I didn't do the jmping, I just did 6 calls in a row :)

Thanks for sharing though :) I'm actually writing a macro that automates that process. It's a touch one to write, but I've almost got it :)

Oh, and thanks for the font tip :) I wasn't sure how to make the console for my engine, but now I know :alright:
Posted on 2001-09-07 11:38:29 by Kenny