in Belajar

Membuat Lampu 3D dengan Dev C++ OpenGL

007

(UMBY Kampus Kebanggaanku) Halo gaes ,Gimana kabarnya? baik kan 😀 ,dalam kesempatan kali ini saya mau membagikan tugas yang dulu diberikan saat saya menikuti kuliah disemester 3 matakuliah komputer grafik, Tugas Ujian akhir semester waktu itu adalah membuat lampu dengan 3 Dimensi menggunakan Dev C++ Open GL,berikut saya bagikan kodingnya siapa tau butuh dan ingin belajar,cekidot 😀 :

#include<math.h>
#include<gl\glut.h>
#define PI 3.14

GLint circle_points=90;
void kerucut(GLfloat radius, GLfloat tinggi)  //kerucut
{     GLint a;
GLdouble theta, ntheta;
for(a=0; a<circle_points;a++){
glBegin(GL_POLYGON);
theta = (2*PI*a/circle_points);
ntheta = (66*PI*(a+1)/circle_points);
glVertex3f(radius*cos(ntheta)*2,0,radius*sin(ntheta));
glVertex3f(radius*cos(ntheta),tinggi,radius*sin(ntheta));
//glVertex3f(0,0,0);
glVertex3f(radius*cos(theta),tinggi,radius*sin(theta));
glVertex3f(radius*cos(theta)*2,0, radius*sin(theta));
glEnd();     }}

void Botol(GLfloat radius1,GLfloat radius2)  //Botol
{    GLint i;GLdouble theta,ntheta;
for(i=0;i<circle_points;i++)

    {        glBegin(GL_POLYGON);theta=(2*PI*i/circle_points);
ntheta=(2*PI*(i+1)/circle_points);glVertex3f(0,0,0);
glVertex3f(radius1*cos(theta),-1,radius1*sin(theta));
glVertex3f(radius1*cos(ntheta),-1,radius1*sin(ntheta));
glVertex3f(radius1*cos(ntheta),-0.4,radius1*sin(ntheta));
glVertex3f(radius2*cos(ntheta),-4,radius2*sin(ntheta));
glVertex3f(radius2*cos(ntheta),-4,radius2*sin(ntheta));
glVertex3f(radius2*cos(theta),-4,radius2*sin(theta));
glVertex3f(radius2*cos(theta),-4,radius2*sin(theta));
glVertex3f(radius1*cos(theta),-4,radius1*sin(theta));
glVertex3f(radius1*cos(theta),-5,radius1*sin(theta));
glEnd();    }}

     void Display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,1,1);
kerucut(1,4);
glColor3f(1,1,1);
Botol(0.5,-0.5);
glFlush();}

     void reshape(int w,int h){
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glFrustum(-(GLfloat)w/h,(GLfloat)w/h,-2,2,1,20);
gluLookAt(0,1,3,4,0,-100,0,1,0);}
void init(void){
glClearColor(0,0,0,0);
glPolygonMode(GL_FRONT,GL_LINE);
glPolygonMode(GL_BACK,GL_LINE);}
int main(int argc,char*argv[]){
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500,500);
glutCreateWindow(“61”);
init();
glutDisplayFunc(Display);
glutReshapeFunc(reshape);
glutMainLoop();}

Dan Hasilnya seperti ini :

kograf2

     Hasil tersebut gabungan dari Tabung + Botol + Kerucut .Kalo temen-temen ingin membuat seperti diatas maupun bentuk yang lain silahkan hubungin saya via email,nanti saya bantu dengan menirimkan beberapa gambar dasaran mulai 2D sampai 3D ,dan tentunya FREE .Saya sertakan file Download .

Terimakasih

Share Artikel
Written By: