Jump to content
  • Advertisement
Sign in to follow this  
i04055

OpenGL How to make custom lines?

This topic is 3709 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys.... I'm a beginner here, and i need some help. I need to make a custom lines using openGL in 2D graphics. All that i want is to make every lines I create (using GL_LINE) is looked like I draw it using crayon or chalk just like I used to see in Crayon Physics game. I've been searching for a while and I didn't find a way. Is there someone here who can give me some advises or tricks? thx before.

Share this post


Link to post
Share on other sites
Advertisement
how could I render polygons on lines?

could you make it clearer? since i'm a beginner... sorry...

I need to apply a texture on the outline of polygons not inside the polygons area...

but thx for the advise...

Share this post


Link to post
Share on other sites
Do not render a polygon on your line.
Render a polygon, rectangular shape and apply the texture you want.

Quote:
I need to apply a texture on the outline of polygons not inside the polygons area...

Make your texture format RGBA and the center parts, make the Alpha=0 and enable transparency
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

Share this post


Link to post
Share on other sites
Could I apply a texture to a line segment?
Just a line segment not the outline of any shape....
Because I need it applied even before it become a complete polygons...

thx for the advises....

Share this post


Link to post
Share on other sites
Yes, you can apply a texture to anything (point, line, polygons, glDrawPixels) although the results you get might not be what you want. For lines, you can apply a 1D texture. Yuo can apply a 2D texture to but I don't know how exactly it interpolates the texcoords on a line.

Share this post


Link to post
Share on other sites
i04055, I believe that what is being suggested is that, instead of rendering lines, you render polygons.

For example:

(I'm using immediate mode here for the sake of simplicity)

Instead of this :

glBegin(GL_LINES);
//Two glVertex calls here
glEnd();


Which should give something like this:

                /
/
/
/


Try something like this:

glBegin(GL_QUADS);
//Four glVertex calls here, informed by your desired start- and end- points
glEnd();


Which should allow you to create something like this:

           ____
/ /
/ /
/ /
/ /
----


With a nice crayon or chalk texture applied to it. Naturally, this is a relatively basic implementation; in order to create a better chalk or crayon effect, a little more creativity with your quads might be called for. ;)

Share this post


Link to post
Share on other sites
owh... i see....

This is a bit different from what I imagine. But it should help me out of this problem.

What I really want to make is another version of Crayon Physics game for my final project. But I uses openGL instead of DirectX as my graphics library....

So... If I use polygons instead of line, I have to do something about it's collision detection too...

thx for the advises, I really appreciate that....

Share this post


Link to post
Share on other sites
I've seen Crayon Physics and that's what they do. It's all textured polygons.
For physics, any 3D engine will do as long as you restrict one of the axis to have a 2D effect. Newton, ODE, Bullet come to mind.

Share this post


Link to post
Share on other sites
IIRC Crayon Physics doesn't use extended/widened rectangles for the lines, they're instead made of lots of circular crayon sprites drawn at regular intervals along the line. There's a post by the author in the Image Of The Day thread where he gives details about it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!