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

Bryan 16 years, 4 months ago

Good job josh-san!

JoshDreamland 16 years, 4 months ago

WAI THANK YOU GUD SIR.

marbs 16 years, 4 months ago

Good stuff Josh :D

JoshDreamland 16 years, 4 months ago

Thanks mrans :3

SY-

Not for a while, silly.

JoshDreamland 16 years, 4 months ago

The interface GUI, you mean?

Gamer3D 16 years, 4 months ago

The colors are from 0-1 to make things simple for the renderer. Polygons interpolate color values (and UV, etc) from each point to each other point. Using floating-point values would probably make it easier, as well as easier to understand. 0 is the minimum, 1 is the maximum. And yes. I have made my own polygon renderer in Pascal.

JoshDreamland 16 years, 4 months ago

Gamer3D-

Heh. Either way, that just means I have to have the min and max ready to go before I render. No biggy.

JoshDreamland 16 years, 4 months ago

Screen shot added.

Trogdor 16 years, 4 months ago

Hrmm. I like the screenshot. It looks pretty smooth.

bendodge 16 years, 4 months ago

Wow, keep it up!