|
|
@ -118,68 +118,67 @@ void DrawCube(Vector3 position, float width, float height, float length, Color c |
|
|
|
float z = 0.0f; |
|
|
|
|
|
|
|
rlPushMatrix(); |
|
|
|
|
|
|
|
// NOTE: Be careful! Function order matters (scale -> rotate -> translate) |
|
|
|
//rlScalef(1.0f, 3.0f, 1.0f); |
|
|
|
//rlRotatef(45, 0, 1, 0); |
|
|
|
// NOTE: Transformation is applied in inverse order (scale -> rotate -> translate) |
|
|
|
rlTranslatef(position.x, position.y, position.z); |
|
|
|
//rlRotatef(45, 0, 1, 0); |
|
|
|
//rlScalef(1.0f, 1.0f, 1.0f); // NOTE: Vertices are directly scaled on definition |
|
|
|
|
|
|
|
rlBegin(RL_TRIANGLES); |
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a); |
|
|
|
|
|
|
|
// Front Face ----------------------------------------------------- |
|
|
|
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left |
|
|
|
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right |
|
|
|
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left |
|
|
|
|
|
|
|
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right |
|
|
|
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left |
|
|
|
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right |
|
|
|
|
|
|
|
// Back Face ------------------------------------------------------ |
|
|
|
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Left |
|
|
|
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left |
|
|
|
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
|
|
|
|
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right |
|
|
|
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left |
|
|
|
// Front face |
|
|
|
rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left |
|
|
|
rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right |
|
|
|
rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left |
|
|
|
|
|
|
|
// Top Face ------------------------------------------------------- |
|
|
|
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left |
|
|
|
rlVertex3f(x-width/2, y+height/2, z+length/2); // Bottom Left |
|
|
|
rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right |
|
|
|
rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Right |
|
|
|
rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left |
|
|
|
rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right |
|
|
|
|
|
|
|
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right |
|
|
|
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left |
|
|
|
rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right |
|
|
|
// Back face |
|
|
|
rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Left |
|
|
|
rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left |
|
|
|
rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
|
|
|
|
// Bottom Face ---------------------------------------------------- |
|
|
|
rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Left |
|
|
|
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right |
|
|
|
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left |
|
|
|
rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right |
|
|
|
rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left |
|
|
|
|
|
|
|
rlVertex3f(x+width/2, y-height/2, z-length/2); // Top Right |
|
|
|
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right |
|
|
|
rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Left |
|
|
|
// Top face |
|
|
|
rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left |
|
|
|
rlVertex3f(x - width/2, y + height/2, z + length/2); // Bottom Left |
|
|
|
rlVertex3f(x + width/2, y + height/2, z + length/2); // Bottom Right |
|
|
|
|
|
|
|
// Right face ----------------------------------------------------- |
|
|
|
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right |
|
|
|
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left |
|
|
|
rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right |
|
|
|
rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left |
|
|
|
rlVertex3f(x + width/2, y + height/2, z + length/2); // Bottom Right |
|
|
|
|
|
|
|
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Left |
|
|
|
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left |
|
|
|
// Bottom face |
|
|
|
rlVertex3f(x - width/2, y - height/2, z - length/2); // Top Left |
|
|
|
rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right |
|
|
|
rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left |
|
|
|
|
|
|
|
// Left Face ------------------------------------------------------ |
|
|
|
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left |
|
|
|
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Right |
|
|
|
rlVertex3f(x + width/2, y - height/2, z - length/2); // Top Right |
|
|
|
rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right |
|
|
|
rlVertex3f(x - width/2, y - height/2, z - length/2); // Top Left |
|
|
|
|
|
|
|
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left |
|
|
|
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left |
|
|
|
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right |
|
|
|
// Right face |
|
|
|
rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right |
|
|
|
rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Left |
|
|
|
|
|
|
|
rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Left |
|
|
|
rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Left |
|
|
|
|
|
|
|
// Left face |
|
|
|
rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left |
|
|
|
rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Right |
|
|
|
|
|
|
|
rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left |
|
|
|
rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left |
|
|
|
rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Right |
|
|
|
rlEnd(); |
|
|
|
rlPopMatrix(); |
|
|
|
} |
|
|
@ -198,8 +197,6 @@ void DrawCubeWires(Vector3 position, float width, float height, float length, Co |
|
|
|
float z = 0.0f; |
|
|
|
|
|
|
|
rlPushMatrix(); |
|
|
|
|
|
|
|
//rlRotatef(45, 0, 1, 0); |
|
|
|
rlTranslatef(position.x, position.y, position.z); |
|
|
|
|
|
|
|
rlBegin(RL_LINES); |
|
|
@ -271,49 +268,49 @@ void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float hei |
|
|
|
rlEnableTexture(texture.id); |
|
|
|
|
|
|
|
//rlPushMatrix(); |
|
|
|
// NOTE: Be careful! Function order matters (scale -> rotate -> translate) |
|
|
|
//rlScalef(2.0f, 2.0f, 2.0f); |
|
|
|
//rlRotatef(45, 0, 1, 0); |
|
|
|
// NOTE: Transformation is applied in inverse order (scale -> rotate -> translate) |
|
|
|
//rlTranslatef(2.0f, 0.0f, 0.0f); |
|
|
|
//rlRotatef(45, 0, 1, 0); |
|
|
|
//rlScalef(2.0f, 2.0f, 2.0f); |
|
|
|
|
|
|
|
rlBegin(RL_QUADS); |
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a); |
|
|
|
// Front Face |
|
|
|
rlNormal3f(0.0f, 0.0f, 1.0f); // Normal Pointing Towards Viewer |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Left Of The Texture and Quad |
|
|
|
// Back Face |
|
|
|
rlNormal3f(0.0f, 0.0f,-1.0f); // Normal Pointing Away From Viewer |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlNormal3f(0.0f, 0.0f, - 1.0f); // Normal Pointing Away From Viewer |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Left Of The Texture and Quad |
|
|
|
// Top Face |
|
|
|
rlNormal3f(0.0f, 1.0f, 0.0f); // Normal Pointing Up |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x-width/2, y+height/2, z+length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x - width/2, y + height/2, z + length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x + width/2, y + height/2, z + length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right Of The Texture and Quad |
|
|
|
// Bottom Face |
|
|
|
rlNormal3f(0.0f,-1.0f, 0.0f); // Normal Pointing Down |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlNormal3f(0.0f, - 1.0f, 0.0f); // Normal Pointing Down |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x + width/2, y - height/2, z - length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Right Of The Texture and Quad |
|
|
|
// Right face |
|
|
|
rlNormal3f(1.0f, 0.0f, 0.0f); // Normal Pointing Right |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z - length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x + width/2, y + height/2, z - length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x + width/2, y + height/2, z + length/2); // Top Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x + width/2, y - height/2, z + length/2); // Bottom Left Of The Texture and Quad |
|
|
|
// Left Face |
|
|
|
rlNormal3f(-1.0f, 0.0f, 0.0f); // Normal Pointing Left |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left Of The Texture and Quad |
|
|
|
rlNormal3f( - 1.0f, 0.0f, 0.0f); // Normal Pointing Left |
|
|
|
rlTexCoord2f(0.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z - length/2); // Bottom Left Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 0.0f); rlVertex3f(x - width/2, y - height/2, z + length/2); // Bottom Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(1.0f, 1.0f); rlVertex3f(x - width/2, y + height/2, z + length/2); // Top Right Of The Texture and Quad |
|
|
|
rlTexCoord2f(0.0f, 1.0f); rlVertex3f(x - width/2, y + height/2, z - length/2); // Top Left Of The Texture and Quad |
|
|
|
rlEnd(); |
|
|
|
//rlPopMatrix(); |
|
|
|
|
|
|
@ -330,8 +327,9 @@ void DrawSphere(Vector3 centerPos, float radius, Color color) |
|
|
|
void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color) |
|
|
|
{ |
|
|
|
rlPushMatrix(); |
|
|
|
n">rlScalef(radius, radius, radius); |
|
|
|
o">// NOTE: Transformation is applied in inverse order (scale -> translate) |
|
|
|
rlTranslatef(centerPos.x, centerPos.y, centerPos.z); |
|
|
|
rlScalef(radius, radius, radius); |
|
|
|
|
|
|
|
rlBegin(RL_TRIANGLES); |
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a); |
|
|
@ -369,8 +367,9 @@ void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color |
|
|
|
void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color) |
|
|
|
{ |
|
|
|
rlPushMatrix(); |
|
|
|
n">rlScalef(radius, radius, radius); |
|
|
|
o">// NOTE: Transformation is applied in inverse order (scale -> translate) |
|
|
|
rlTranslatef(centerPos.x, centerPos.y, centerPos.z); |
|
|
|
rlScalef(radius, radius, radius); |
|
|
|
|
|
|
|
rlBegin(RL_LINES); |
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a); |
|
|
@ -423,12 +422,12 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h |
|
|
|
for (int i = 0; i < 360; i += 360/sides) |
|
|
|
{ |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); //Bottom Left |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i+360/sides))*radiusBottom); //Bottom Right |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusTop, height, cosf(DEG2RAD*(i+360/sides))*radiusTop); //Top Right |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360/sides))*radiusBottom); //Bottom Right |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360/sides))*radiusTop); //Top Right |
|
|
|
|
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); //Top Left |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); //Bottom Left |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusTop, height, cosf(DEG2RAD*(i+360/sides))*radiusTop); //Top Right |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360/sides))*radiusTop); //Top Right |
|
|
|
} |
|
|
|
|
|
|
|
// Draw Cap -------------------------------------------------------------------------------------- |
|
|
@ -436,7 +435,7 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h |
|
|
|
{ |
|
|
|
rlVertex3f(0, height, 0); |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusTop, height, cosf(DEG2RAD*(i+360/sides))*radiusTop); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360/sides))*radiusTop); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
@ -446,7 +445,7 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h |
|
|
|
{ |
|
|
|
rlVertex3f(0, height, 0); |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i+360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360/sides))*radiusBottom); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -454,7 +453,7 @@ void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float h |
|
|
|
for (int i = 0; i < 360; i += 360/sides) |
|
|
|
{ |
|
|
|
rlVertex3f(0, 0, 0); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i+360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); |
|
|
|
} |
|
|
|
rlEnd(); |
|
|
@ -476,12 +475,12 @@ void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, fl |
|
|
|
for (int i = 0; i < 360; i += 360/sides) |
|
|
|
{ |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusBottom, 0, cosf(DEG2RAD*i)*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i+360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360/sides))*radiusBottom); |
|
|
|
|
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i+360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusTop, height, cosf(DEG2RAD*(i+360/sides))*radiusTop); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusBottom, 0, cosf(DEG2RAD*(i + 360/sides))*radiusBottom); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360/sides))*radiusTop); |
|
|
|
|
|
|
|
rlVertex3f(sinf(DEG2RAD*(i+360/sides))*radiusTop, height, cosf(DEG2RAD*(i+360/sides))*radiusTop); |
|
|
|
rlVertex3f(sinf(DEG2RAD*(i + 360/sides))*radiusTop, height, cosf(DEG2RAD*(i + 360/sides))*radiusTop); |
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); |
|
|
|
|
|
|
|
rlVertex3f(sinf(DEG2RAD*i)*radiusTop, height, cosf(DEG2RAD*i)*radiusTop); |
|
|
@ -496,8 +495,8 @@ void DrawPlane(Vector3 centerPos, Vector2 size, Color color) |
|
|
|
{ |
|
|
|
// NOTE: Plane is always created on XZ ground |
|
|
|
rlPushMatrix(); |
|
|
|
rlScalef(size.x, 1.0f, size.y); |
|
|
|
rlTranslatef(centerPos.x, centerPos.y, centerPos.z); |
|
|
|
rlScalef(size.x, 1.0f, size.y); |
|
|
|
|
|
|
|
rlBegin(RL_TRIANGLES); |
|
|
|
rlColor4ub(color.r, color.g, color.b, color.a); |
|
|
@ -567,8 +566,8 @@ void DrawGizmo(Vector3 position) |
|
|
|
float length = 1.0f; |
|
|
|
|
|
|
|
rlPushMatrix(); |
|
|
|
rlScalef(length, length, length); |
|
|
|
rlTranslatef(position.x, position.y, position.z); |
|
|
|
rlScalef(length, length, length); |
|
|
|
|
|
|
|
rlBegin(RL_LINES); |
|
|
|
rlColor3f(1.0f, 0.0f, 0.0f); rlVertex3f(0.0f, 0.0f, 0.0f); |
|
|
|