|
@@ -285,29 +285,29 @@ void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color
|
|
|
rlBegin(RL_TRIANGLES);
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
|
|
|
|
- for(int i = 0; i < 2 * rings + 1; i++)
|
|
|
+ for(int i = 0; i < 2 * rings + (rings / 3); i++)
|
|
|
{
|
|
|
for(int j = 0; j < slices; j++)
|
|
|
{
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*i)) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
-
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*i)) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*i)),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices)));
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)));
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices)));
|
|
|
+
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*i)),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices)));
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i))) * sin(DEG2RAD*((j+1)*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i))),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i))) * cos(DEG2RAD*((j+1)*360/slices)));
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)),
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))),
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)));
|
|
|
}
|
|
|
}
|
|
|
rlEnd();
|
|
@@ -318,37 +318,37 @@ void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color
|
|
|
void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color)
|
|
|
{
|
|
|
rlPushMatrix();
|
|
|
- //rlTranslatef(centerPos.x, centerPos.y, centerPos.z);
|
|
|
- rlScalef(radius, radius, radius);
|
|
|
+ rlTranslatef(centerPos.x, centerPos.y, centerPos.z);
|
|
|
+ //rlScalef(radius, radius, radius);
|
|
|
//rlRotatef(rotation, 0, 1, 0);
|
|
|
|
|
|
rlBegin(RL_LINES);
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
|
|
|
|
- for(int i = 0; i < 2 * rings + 1; i++)
|
|
|
+ for(int i = 0; i < (rings + 2); i++)
|
|
|
{
|
|
|
for(int j = 0; j < slices; j++)
|
|
|
{
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*i)) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*i)) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*((j+1)*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*((j+1)*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*(i+1))) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*(i+1))) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*(i+1))) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
- rlVertex3f(cos(DEG2RAD*(270+(90/rings)*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
- sin(DEG2RAD*(270+(90/rings)*i)) * radius,
|
|
|
- cos(DEG2RAD*(270+(90/rings)*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*(i+1))) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
+ rlVertex3f(cos(DEG2RAD*(270+(180/(rings + 1))*i)) * sin(DEG2RAD*(j*360/slices)) * radius,
|
|
|
+ sin(DEG2RAD*(270+(180/(rings + 1))*i)) * radius,
|
|
|
+ cos(DEG2RAD*(270+(180/(rings + 1))*i)) * cos(DEG2RAD*(j*360/slices)) * radius);
|
|
|
}
|
|
|
}
|
|
|
rlEnd();
|