Draw LINE_STRIP with Unity
- by Boozzz
For a new project I am thinking about whether to use OpenGL or Unity3d. I have a bit of experience with OpenGL, but I am completely new to Unity. I already read through the Unity documentation and tutorials on the Unity Website. However, I could not find a way to draw a simple Line-Strip with Unity.
In the following example (C#, OpenGL/SharpGL) I draw a round trajectory from a predifined point to an obstacle, which can be imagined as a divided circle with midpoint [cx,cy] and radius r. The position (x-y coordinates) of the obstacle is given by obst_x and obst_y.
Question 1: How could I do the same with Unity?
Question 2: In my new project, I will have to draw quite a lot of such geometric primitives. Does it make any sense to use Unity for those things?
void drawCircle(float cx, float cy, float r, const float obst_x, const float obst_y)
{
float theta = 0.0f, pos_x, pos_y, dist;
const float delta = 0.1;
glBegin(GL_LINE_STRIP);
while (theta < 180)
{
theta += delta; //get the current angle
float x = r * cosf(theta); //calculate the x component
float y = r * sinf(theta); //calculate the y component
pos_x = x + cx; //calculate current x position
pos_y = y + cy; //calculate current y position
//calculate distance from current vertex to obstacle
dist = sqrt(pow(pos_x - obst_x) + pow(pos_y - obst_y));
//check if current vertex intersects with obstacle
if dist <= 0
{
break; //stop drawing circle
}
else
{
glVertex2f(pos_x, pos_y); //draw vertex
}
}
glEnd();
}