ENIGMA Primitives

Posted by JoshDreamland on Dec. 5, 2007, 9:28 a.m.

That's right kiddos. Josh is on drawing functions now. Who say that coming?

<script type="text/javascript"> obj = document.getElementsByTagName('span'); ind2 = -1; for (i=0;i<obj.length;i++) { if (obj.innerHTML.indexOf("JoshDreamland's") != -1) { ind2 = obj; i = obj.length; } } if (ind2 != -1) { ind2.innerHTML = ind2.innerHTML.replace("JoshDreamland's","Josh @ Dreamland's"); } </script>

Either way, I'm here to tell you that I've finally got some OpenGL going for me. There is no GLUT. Nor will there ever be, unless I hear an elaborate explanation of why I want it. It is nothing but a library of linker errors that was not built for Dev.

So, ermyes. Anyway.

draw_primitive_begin(pr_trianglestrip); 

draw_vertex_color(0.0f,1.0f,make_color_rgb(255,0,0),1);
draw_vertex_color(0.87f,-0.5f,make_color_rgb(0,255,0),1);
draw_vertex_color(-0.87f,-0.5f,make_color_rgb(0,0,255),1);

draw_primitive_end();

That is raw ENIGMA/C++. I'm still working on coordinates. I do not understand why, but everything in openGL is 0-1. I'm working on it, never fear.

There is draw_set_color(), and draw_set_color_rgb(). Betcha can't guess which one's faster! That's… INCORRECT. The RGB one is actually faster, due to openGL's eccentricity.

But in case you are wondering how that looks in action (or if it could possibly work XD), Here you go:

<img src="http://64digits.com/users/JoshDreamland/primitives_working1.PNG">

So, what I have so far….

draw_set_color (color)

draw_set_color_rgb (red, green, blue)

make_color_rgb (red, green, blue)

color_get_red (color)

color_get_green (color)

color_get_blue (color)

draw_primitive_begin (pr_trianglestrip)

draw_vertex (x, y)

draw_vertex_color (x, y, color, 1) //That's right, alpha isn't working yet. =[ I'm getting there.

draw_primitive_end ()

Of course, Dylan has all the string functions done. ALL of them. As well as all the date/time functions. And the math functions. All of those groups he did.

I'ma finish up primitives, and learn to use textures and images. Amazing what you can do in like an hour, when you don't have GLUT holding you back.

At that, thanks for reading. I think I know what to do next, when Dylan comes online.

EDIT

Working on alpha. Added draw_clear. Added -1 = white, etc.

Interface picture:

<img src="http://64digits.com/users/JoshDreamland/ENIGMA_interface_DEC5.PNG">

THERE. For those of you who are counting the seconds.

Comments

T G M G 16 years, 5 months ago

Using winapi is fine for this as GM users have to use windows (or windows emulator) anyway.

Also it means g-creator has another advantage over it as we are fully cross platform :p

Misconstruct 16 years, 5 months ago

Looks nice. Do want.

JoshDreamland 16 years, 5 months ago

Guru–

Heh. GM7 is going Mac too. I will not be outdone by Yoyo. Sooner or later, all will be cross platform. My goal on the compile shell I'm creating now is to not include the Windows library. ZOMG, unheard of. But I'm doing it.

Spiral–

Good to hear. I plan to let you have.

PY 16 years, 5 months ago

Me want too.

Make the damn thing cross platform you fiends!

JoshDreamland 16 years, 5 months ago

Will attempt.

Dylan would have to recode all 10000 lines of his interface or something, so that may be harder than it sounds. But we'll see… It's really up to Dylan. I'm making the games cross platform, but the interface is all up to him. I'll tell him you said that though. May help.

TDOT 16 years, 5 months ago

Looks very nice. Yeah a skinning option will be cool (looks like it's already added), or just ditch the GM look to everything. Can't wait for this to come out. I'll stop using Gm (mostly) if this turns out as good as I think it will.

~TDOT>

biggoron 16 years, 5 months ago

Another thing about GLADE's awesomeness is that you can change the whole UI of ENIGMA by simply changing the .glade file.

JoshDreamland 16 years, 5 months ago

TDOT–

Our goal is to be everything GM is and then some, to the point where there's no reason to use GM.

Dave–

Heh, I'll give that to Dylan asap.