New metaballs demo

Humus

Crazy coder
Veteran
It's a marching cubes isosurface extracting demo (more in-depth description on how this algorithm works on my website).

Looks like this:
metaballs.jpg


Available at the usual place:
http://www.humus.ca/
 
at first i read this as "New Meatball Demo"... :LOL:

keep up the good work!
 
BRiT said:
at first i read this as "New Meatball Demo"... :LOL:
Good, at least I'm not the only one. :D

I'll give it a whirl once my MB gets back from the shop. Asus had to give its undercarriage a bit of a, "How's your father?"
 
Nice CPU benchmark, Humus. :D

2500+
FPU: 48 meatballs
3DNow: 59 meatballs

2GHz
FPU: 58 meatballs
3DNow: 70 meatballs

2.2GHz
FPU: 61 meatballs
3DNow: 75 meatballs

Athlon XP, 9800 Pro.

I assume SSE mode requires SSE2 support?
 
9800 Pro, AXP 2000+

3DNow : 50 fps
SSE : 45 fps and the balls are invisible
FPU : 41 fps
 
AthlonXP 2400+@3400+
Very interesting and nice,3Dnow! works great,but SSE is just black screen (no mountains and metaballs). Bug or something else?
 
Ostsol said:
Nebuchadnezzar said:
pino said:
ouch this thing totally kills my pc. it shutdown it :oops:
Same here, instant reboot when I opened the exe.
Might be good for you to post your system specs.
Not really..

P4 Northwood 2800C@3430MHz
ASUS P4C800-E Deluxe
1GB ram
245MHz FSB
Gainward 6800GT@399/1120MHz
Using 67.03 drivers

I think it's just a problem with my Windows install.
 
MuFu said:
I assume SSE mode requires SSE2 support?

Apparently it did, but it wasn't supposed to. I apparently didn't check the docs closely enough. The movd instruction apparently always operates on MMX registers on non-SSE2 CPUs, even when the operands are xmm registers. But I've uploaded a fixed version now that uses movss instead.
 
Humus said:
Apparently it did, but it wasn't supposed to. I apparently didn't check the docs closely enough. The movd instruction apparently always operates on MMX registers on non-SSE2 CPUs, even when the operands are xmm registers. But I've uploaded a fixed version now that uses movss instead.
movss is the only correct instruction to copy single scalar values from an SSE registers to memory. movd, the SSE2 variant, is actually an '128-bit MMX' instruction for integer operations (Intel can be very confusing when it comes to categorizing instructions).

In practice both are equivalent (on processors with SSE2 support), but for future processor generations peformance might differ because one uses the floating-point pipeline and the other the integer pipeline. It's advised to always use the corresponding instruction.

Anyway, it's interesting to see that your 3DNow! version is slower than the SSE version. Any possibility that your SSE version isn't fully optimized?
 
Back
Top