Script Code Block OpenGL
1. Segitiga
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <math.h>
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1.-1,1.0,1.1);
glVertex2d(-1,-(1*sqrt(3))/2);
glVertex2d(1,-(1*sqrt(3))/2);
glVertex2d(0,(1*sqrt(3))/2);
glEnd();
glFlush();
/*Single buffered, so needs a flush.*/
}
int main(int iArgc,char**cppArgv){
glutInit(&iArgc,cppArgv);
glutCreateWindow("SEGITIGA");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Hasilnya :
2. Mobil
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <windows.h>
#include <Gl/gl.h>
#include <math.h>
#include <stdbool.h>
const double PI = 3.142857143;
int i,radius,jumlah_titik,x_tengah,y_tengah;
int gerak = 0;
bool atas = true;
void tampil()
{
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(gerak,0,0);
glColor3f(0.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex2f(1.0,1.0);
glVertex2f(1.5,0.0);
glVertex2f(1.5,-1.0);
glVertex2f(-1.0,-1.0);
glVertex2f(-1.0,1.0);
glVertex2f(0.7,1.0);
glEnd();
glFlush();
glColor3f(0.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex2f(1.5,0.0);
glVertex2f(2.5,0.0);
glVertex2f(2.5,-1.0);
glVertex2f(1.5,-1.0);
glEnd();
glFlush();
glColor3f(0.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex2f(-1.0,-1.0);
glVertex2f(-1.5,-1.0);
glVertex2f(-1.5,0.0);
glVertex2f(-1.0,0.0);
glEnd();
glFlush();
glColor3f(5.0,1.0,5.0);
glBegin(GL_POLYGON);
glVertex2f(0.25,0.85);
glVertex2f(0.85,0.85);
glVertex2f(1.25,0.0);
glVertex2f(0.25,0.0);
glEnd();
glFlush();
glColor3f(5.0,1.0,5.0);
glBegin(GL_POLYGON);
glVertex2f(0.0,0.85);
glVertex2f(-0.55,0.85);
glVertex2f(0.0,0.80);
glVertex2f(0.0,0.0);
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);
glBegin(GL_POLYGON);
radius = 40;
jumlah_titik = 60;
x_tengah = 190;
y_tengah = -90;
for(i=0;i<=360;i++)
{
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glColor3f(0.0,0.0,0.0);
glBegin(GL_POLYGON);
radius = 40;
jumlah_titik = 60;
x_tengah = -90;
y_tengah = -90;
for (i=0;i<=360;i++)
{
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glFlush();
glPopMatrix();
}
void timer(int t)
{
if (atas){
gerak +=1;
}else{
gerak -=1;
}if (gerak > 20){
atas = false;
}else if(gerak < -20){
atas = true;
}
glutPostRedisplay();
glutTimerFunc(50,timer,0);
}
int main(int argc,char**argv)
{
glutCreateWindow("Mobil Bergerak Auto");
glClearColor(1.0,9.0,1.0,0.0);
glutDisplayFunc(tampil);
gluOrtho2D(-20.,20.,-20.0,20.0);
glutTimerFunc(1,timer,0);
glutMainLoop();
}
Hasilnya :
3. Persegi
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <math.h>
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glClearColor (0.1, 1.0, 0.0, 0.1);
glVertex2f (-0.3, -0.3);
glVertex2f (-0.3, 0.3);
glVertex2f (0.3, 0.3);
glVertex2f (0.3, -0.3);
glEnd ();
glFlush();
}
int main(int iArgc,char*Argv){
glutInit(&iArgc,cppArgv);
glutCreateWindow("PERSEGI");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Hasilnya :
7. Garis
#include <gl/glut.h>
void draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
glVertex3f(0.25,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glEnd();
glFlush();
}
void Initialize(){
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
int main(int iArgc,char** cppArgv){
glutInit(&iArgc,cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(200,200);
glutCreateWindow("Lesson 2");
Initialize();
glutDisplayFunc(draw);
glutMainLoop();
return 0;
}
4. Persegi Panjang Berwarna
#include <GL/glut.h>
void buat(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(1.0,0.0,0.0); /*merah*/
glVertex2d(0.75,0.75);
glColor3f(0.0,1.0,0.0); /*hijau*/
glVertex2d(0.75,-0.75);
glColor3f(0.0,0.0,1.0); /*biru*/
glVertex2d(-0.75,-0.75);
glColor3f(1.0,1.0,1.0); /*putih*/
glVertex2d(-0.75,0.75);
glEnd();
glFlush();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitWindowSize(400,300);
glutCreateWindow("Persegi Panjang");
glutDisplayFunc(buat);
glutMainLoop();
return 0;
}
Hasilnya :
5. Kubus
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <windows.h>
#include <Gl/gl.h>
#include <math.h>
#include <stdbool.h>
void display (void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glRotated(-35,1,1,1);
glColor3f(0.0,0.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(-1.0,-1.0,1.0);
glVertex3f(1.0,-1.0,1.0);
glVertex3f(1.0,1.0,1.0);
glVertex3f(-1.0,1.0,1.0);
glEnd();
glColor3f(0.0,1.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(1.0,-1.0,-1.0);
glVertex3f(-1.0,-1.0,-1.0);
glVertex3f(-1.0,1.0,-1.0);
glVertex3f(1.0,1.0,-1.0);
glEnd();
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(-1.0,-1.0,-1.0);
glVertex3f(-1.0,-1.0,1.0);
glVertex3f(-1.0,1.0,1.0);
glVertex3f(-1.0,1.0,-1.0);
glEnd();
glColor3f(0.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(1.0,-1.0,-1.0);
glVertex3f(1.0,1.0,-1.0);
glVertex3f(1.0,1.0,1.0);
glVertex3f(1.0,-1.0,1.0);
glEnd();
glColor3f(1.0,0.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(1.0,-1.0,1.0);
glVertex3f(-1.0,-1.0,1.0);
glVertex3f(-1.0,-1.0,-1.0);
glVertex3f(1.0,-1.0,-1.0);
glEnd();
glColor3f(1.0,1.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(-1.0,1.0,1.0);
glVertex3f(1.0,1.0,1.0);
glVertex3f(1.0,1.0,-1.0);
glVertex3f(-1.0,1.0,-1.0);
glEnd();
glFlush();
}
void myinit()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-3.0,3.0,-3.0,3.0,-3.0,3.0);
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0,0.0,0.0,1.0);
glColor3f(0.0,0.0,0.0);
glShadeModel(GL_FLAT);
glEnable(GL_DEPTH_TEST);
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(400,400);
glutInitWindowPosition(100,100);
glutCreateWindow("Kotak");
glutDisplayFunc(display);
myinit();
glutMainLoop();
return 0;
}
Hasilnya :
6. Kotak 3D
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <windows.h>
#include <Gl/gl.h>
#include <math.h>
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glRotated(35,1,1,1);
glutWireCube(2);
glFlush();
}
void init(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-5.0,5.0,-5.0,5.0,-5.0,5.0);
glMatrixMode(GL_MODELVIEW);
glShadeModel(GL_FLAT);
glEnable(GL_DEPTH_TEST);
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(400,400);
glutInitWindowPosition(100,100);
glutCreateWindow("Kubus");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
Hasilnya :
7. Garis
#include <gl/glut.h>
void draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
glVertex3f(0.25,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glEnd();
glFlush();
}
void Initialize(){
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
int main(int iArgc,char** cppArgv){
glutInit(&iArgc,cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(200,200);
glutCreateWindow("Lesson 2");
Initialize();
glutDisplayFunc(draw);
glutMainLoop();
return 0;
}
Hasilnya :
8. Titik
#include <GL/glu.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <windows.h>
#include <Gl/gl.h>
#include <math.h>
#include <stdbool.h>
void draw(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.1,0.1);
glBegin(GL_POINT);
glVertex3f(0.2,0.2,0.0);
glVertex3f(0.8,0.2,0.0);
glVertex3f(0.2,0.5,0.0);
glVertex3f(0.8,0.5,0.0);
glVertex3f(0.2,0.8,0.0);
glVertex3f(0.8,0.8,0.0);
glEnd();
glFlush();
}
void Initialize(void){
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
int main(int iArgc,char**cppArgv){
glutInit(&iArgc,cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(200,200);
glutCreateWindow("Lesson 1");
Initialize();
glutDisplayFunc(draw);
glutMainLoop();
return 0;
}
Hasilnya :
9. Bintang Berwarna
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <windows.h>
#include <Gl/gl.h>
#include <math.h>
void drawQuad(){
glBegin(GL_POLYGON);
glVertex2f(77.,70.);
glVertex2f(80.,146.);
glVertex2f(99.,90.);
glVertex2f(157.,90.);
glVertex2f(110.,55.);
glVertex2f(128.,1.);
glVertex2f(80.,34.);
glVertex2f(32.,1.);
glVertex2f(54.,55.);
glVertex2f(3.,90.);
glVertex2f(63.,90.);
glVertex2f(80.,146.);
glEnd();
glFlush();
}
void renderScene(void){
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef(30,0,0,1);
glColor3f(1,1,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-500,-500,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-450,-350,0);
glRotatef(30,0,0,1);
glScalef(0.5,0.5,0);
glColor3f(1,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-320,-420,0);
glRotatef(30,0,0,1);
glColor3f(0,0,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-200,-350,0);
glScalef(0.5,0.5,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-200,-310,0);
glRotatef(45,0,0,1);
glScalef(1.5,1.5,0);
glColor3f(0,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-150,-100,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-200,-350,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-150,0,0);
glScalef(0.3,0.3,0);
glColor3f(1,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-50,-180,0);
glScalef(0.4,0.4,0);
glColor3f(1,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(100,90,0);
glRotatef(45,0,0,1);
glScalef(1.2,1.2,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-400,-200,0);
glScalef(0.4,0.4,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(50,0,0);
glScalef(0.4,0.4,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(0,200,0);
glScalef(0.4,0.4,0);
glRotatef(30,0,0,1);
glColor3f(0,1,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(150,300,0);
glRotatef(-45,0,0,1);
glColor3f(0,0,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(100,300,0);
glScalef(0.5,0.5,0);
glColor3f(1,1,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(320,320,0);
glRotatef(45,0,0,1);
glColor3f(0,1,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(320,280,0);
glScalef(0.5,0.5,0);
glColor3f(1,0,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(150,115,0);
glScalef(0.3,0.3,0);
glColor3f(1,0,1);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(450,400,0);
glRotatef(45,0,0,1);
glScalef(0.6,0.6,0);
glColor3f(0,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(-100,115,0);
glScalef(0.5,0.5,0);
glColor3f(0,1,0);
drawQuad();
glPopMatrix();
glPushMatrix();
glTranslatef(180,400,0);
glScalef(0.3,0.3,0);
glColor3f(1,1,0);
drawQuad();
glPopMatrix();
glFlush();
}
void main(int argc,char **argv){
glutInit(&argc,argv);
glutInitWindowPosition(200,200);
glutInitWindowSize(480,480);
glutCreateWindow("BINTANG TUJUH");
gluOrtho2D(-500.,500.,-500.,500.);
glutDisplayFunc(renderScene);
glutMainLoop();
}
Hasilnya :
Terima kasih atas kunjunganya 😊
Tidak ada komentar:
Posting Komentar