BABI
PENGANTAR GRAFIKA KOMPUTER, 2D &
3D
MATERI
•Pengenalan grafika komputer
•Manfaat grafika komputer
•Materi dalam grafika
komputer
•Mengenal library grafis
OpenGL
•Instalasi GLUT OpenGL
•Mengenal Pemrograman Grafis
•Struktur dasar Pemrograman
Grafika menggunakan OpenGL
1.
Pengenalan
grafika komputer
-
Grafika komputer adalah suatu bidang yang mempelajari bagaimana
menghasilkan suatu gambar menggunakan komputer. Sehingga didalam grafika komputer
akan dibahas teknik-teknik menggambar.
-
Grafika komputer menghasilkan software-software disain grafis
yang saat ini sudah sangat canggih.
-
Grafika komputer menghasilkan software dengan GUI (graphics
User Interface)yang memudahkan dan menyenangkan.
1.1 Pengenalan grafika komputer (GRAFIKA VS IMAGE
PROCESSING)
a. GRAFIKA
-
Grafika komputer menghasilkan suatu gambar
-
Materinya berisi teknik-teknik menggambar
-
Hasilnya gambar
b.
IMAGE
PROCESSING
-
Image processing mengolah suatu gambar
-
Materinya berisi teknik memperbaiki dan menyajikan informasi dari
gambar
-
Hasilnya bisa gambar atau informasi
1.2 Pengenalan grafika komputer (PHOTO VS GAMBAR)
a. PHOTO
-
Photo dihasilkan dari capture (mengambil) gambar yang ada
-
Detail dari setiap obyek lengkap. Misalnya jumlah kumis pada kucing
tertangkap apa adanya.
b.
GAMBAR
-
Gambar dihasilkan dari proses pembuatan atau peniruan
-
Detail tidak lengkap, Misalnya siapa yang maumenghitung jumlah
kumis kucing baru digambarkan sesuai dengan jumlahnya
1.3 Pengenalan grafika komputer (ELEMEN – ELEMEN
GRAFIS)
A.
POLYLINES
B.
TEXT
C.
REGION
D.
Raster
Image
2.
Manfaat
grafika komputer
-
Entertainment
dan Games
-
Graphic
Design
-
Grafik
Monitoring dan Visualisasi
-
CAD
(Computer Aided Design)
-
GUI
(Graphics User Interface)
-
Image
Processing
3.
Materi
dalam grafika komputer
3.1 GRAFIKA 1
-
Primitive
Drawing
-
ObyekGrafik2
Dimensi
-
Tranformasi2
Dimensi
-
ObyekGrafik3
Dimensi
-
Tranformasi3
Dimensi
-
Visible
danInvisible
-
Shading
-
Z-Order
3.2
GRAFIKA 2
-
Z-Order
danZ-buffer
-
Morphing
-
Color
Map
-
Texture
Map
-
Curve
-
Camera
View
-
TranformasiGeometri
4.
Mengenal library grafis OpenGL
-
OpenGL
adalah suatu library grafis standard yang digunakan untuk keperluan-keperluan pemrograman
grafis, Selain OpenGL, library grafis yang banyak digunakan adalah DirectX.
-
OpenGL
bersifat Open-Source, multi-platform dan multi-language. Saat ini semua bahasa pemrograman
mendukung OpenGL. Dan OpenGL bisa bekerja dalam lingkungan Windows, Unix, SGI,
Linux, free BSD dll.
4.1
LIBRARY OpenGL-GLUT
-
Library
dasar dari OpenGL adalah GLUT, dengan fasilitas yang bisa dikembangkan.
-
Untuk
sistem operasi Windows, library ini terdiri dari 3 files yaitu:
a. glut.h
b. glut32.lib
c. glut32.dll
5.
Instalasi GLUT
OpenGL
-
Copykanfile
glut.h didalam folder c:\Program Files\Microsoft Visual Studio\VC98\Include\GL
-
Copykanfile
glut32.lib didalamfolder c:\Program Files\Microsoft Visual Studio\VC98\lib
-
Copykanfile
glut32.dll didalam folder c:\Windows\System32
6.
Mengenal Pemrograman Grafis
-
Pemrograman
grafis adalah pemrograman yang digunakan untuk menghasilkan gambar pada komputer
menggunakan library yang ada.
-
Teknik-teknik
pemrograman grafis ini didasari oleh teknik-teknik menggambar dengan pemakaian geometri
sebagai dasar struktur datanya
-
Hasil
pemrograman grafis adalah visualisasi grafis.
7.
Struktur dasar Pemrograman
Grafika menggunakan OpenGL
#include
<GL/glut.h>
void
userdraw(void)
{//
Disinitempatuntukmenggambar}
void
display(void) {
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
intmain(intargc,char**argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow(“Drawing
by AchmadBasuki");
glClearColor(0.0,0.0,0.0,0.0);
gluOrtho2D(-320.,320.,-240.0,240.0);
glutIdleFunc(display);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
7.1 #INCLUDE <GL/glut.h>
a. Pemrograman grafis menggunakan
OpenGL-GLUT membutuhkan header glut.h yang ada di folder
c:\Program
Files\Microsoft Visual Studio\VC98\bin\GL
7.2
GLvoid userdraw(void) {//
Disini tempat untuk menggambar}
a.
Fungsi userdraw adalah suatu fungsi untuk membuat kode program
untuk menghasilkan suatu gambar #include <GL/glut.h>void userdraw(void) {//
Disinitempatuntukmenggambar}
7.3
Glut InitWindowPosition(100,100);
glut InitWindowSize(640,480);
a. Membuat windows dengan ukuran(640,480)
dengan titik kiri atas jendela diletakkan pada posisi(100,100) dilayar komputer
7.4
Glut CreateWindow(“DrawingBy
Rizky keyvin andrey");
a. Memberi judul pada windows
dengan“Drawing By Rizky keyvin andrey”
7.5
glClearColor(1.0,1.0,1.0,0.0);
a. Mendefinisikan warna dari windows
yang dibuat dengan warna(1,1,1) yaitu warna putih
7.6
gluOrtho2D(-320.,320.,-240.,240.);
a. Mendefinisikan besarnya sistem
koordinat dengan range sumbux adalah[-320,320] dan range untuk sumbuy
adalah[-240,240]
BAB II
PRIMITIVE DRAWING
MATERI
•Sistem Koordinat
2D
•Menggambar Titik
•Menggambar Garis
•Menggambar Polyline
•Menggambar Polygon
•Mengubah Warna
1.
SIMTEM
KOORDINAT 2D
1.1 CONTOH SISTEM KOORDINAT DALAM OpenGL
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
gluOrtho2D(-320.,320.,-240.,240.);
2. MENGGAMBAR TITIK
a.
glVertex2i(x,y)
Untuk menggambar titik diposisi(x,y)
dimana x dan y didefinisikan sebagai bilangan bulat(integer)
b. glVertex2f(x,y)
glVertex2d(x,y)
Untuk menggambar titik diposisi(x,y)
dimana x dan y didefinisikan sebagai bilangan pecahan(float/double)
Menggunakan library
glBegin(GL_POINTS)
2.1 CONTOH MENGGAMBAR TITIK
a.
glBegin(GL_POINTS);
glVertex2i(100,50);
glVertex2i(100,130);
glVertex2i(150,130);
glEnd();
b. drawDot(100,50);
drawDot(100,130);
drawDot(150,130);
2.2
FUNGSI UNTUK MENGGAMBAR
TITIK
a.
void
drawDot(intx, inty)
{ glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
}
Fungsi
ini digunakan bila x dan y didefinisikan sebagai integer
b.
void
drawDot(floatx, float y)
{ glBegin(GL_POINTS);
glVertex2f(x,y);
glEnd();
}
Fungsi
ini digunakan bila x dan y didefinisikan sebagai float
2.3
MENGUBAH UKURAN TITK
a. drawDot(100,50);
drawDot(100,130);
glPointSize(4);
drawDot(150,130);
3.
MENGGAMBAR GARIS
Untuk
membuat garis diperlukan library GL_LINES
dengan menyatakan titik awal dan titik akhir dari garis.
a. glBegin(GL_LINES);
glVertex2f(100,100);
glVertex2f(200,150);
glEnd();
3.1 FUNGSI
UNTUK MENGGAMBAR GARIS
a.
void
drawLine(intx1,int y1,int x2,int y2)
{ glBegin(GL_LINES);
glVertex2i(x1,y1);
glVertex2i(x2,y2);
glEnd();
}
b.
void
drawLine(floatx1,float y1,float x2,float y2)
{ glBegin(GL_LINES);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glEnd();
}
3.2 CONTOH
MENGGAMBAR GARIS
a. drawLine(100,100,200,150);
4.
MENGGAMBAR
POLYLINE
Polyline
adalah sekumpulan garis yang terhubung satu dengan yang lainnya hingga
membentuk sebuah obyek gambar
a.
glBegin(GL_LINE_STRIP);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glVertex2f(x3,y3);
……………………………………………
glVertex2f(xn,yn);
glEnd();
4.1
CONTOH MENGGAMBAR POLYLINE
a.
glBegin(GL_LINE_STRIP);
glVertex2f(100,100);
glVertex2f(200,150);
glVertex2f(300,50);
glEnd();
5.
MENGGAMBAR POLYGON
Polygon
adalah sekumpulan garis yang terhubung satu dengan yang lainnya dan berbentuk kurva
tertutup hingga membentuk sebuah obyek gambar.
a. glBegin(GL_LINE_LOOP);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glVertex2f(x3,y3);
……………………………………………
glVertex2f(xn,yn);
glEnd();
5.1 CONTOH MENGGAMBAR POLYGON
a.
glBegin(GL_LINE_LOOP);
glVertex2f(100,100);
glVertex2f(200,150);
glVertex2f(300,50);
glEnd();
6.
MENGUBAH
WARNA
a.
glColor3f(red,green,blue);
red, green, blue nilainya antara
0 sampai dengan 1, letaknya sebelum obyek digambar
b. glColor3f(0.,0.,0.);//black
glColor3f(0.,0.,1.);//blue
glColor3f(0.,1.,0.);//green
glColor3f(0.,1.,1.);//cyan
glColor3f(1.,0.,0.);//red glColor3f(1.,0.,1.);//magenta
glColor3f(1.,1.,0.);//yellow
glColor3f(1.,1.,1.);//white
6.1 CONTOH MENGUBAH WARNA
a.
glColor3f(0,0,0);
drawDot(100,50);
glColor3f(1,0,0);
drawDot(100,130);
glColor3f(0,0,1);
drawDot(150,130);
6.2 CONTOH GAMBAR
•Buatlah latar belakang windows
menjadi hitam dengan mengubah afungsi glClearColor menjadi glClearColor(0.0,0.0,0.0,0.0);
pada main()
•Isikanprogram
berikutpadauserdraw()
a.
float x,y;
for(inti=0;i<1000;i++){ x=640*(float)rand()/RAND_MAX-320;
y=480*(float)rand()/RAND_MAX-240;
drawDot(x,y);
}
BAB III
OBYEK GRAFIK 2D
MATERI
•Definisi Obyek
Grafik2-D
•PolyLine
•Mewarnai Area
(FillPolygon)
•Membangun Obyek
Grafik2-D
•Animasi 2-D
1.
DEFINISI
OBYEK GRAFIK 2-D
a. Obyek grafik 2-D adalah sekumpulan
titik-titik 2-D yang dihubungkan dengan garis lurus baik berupa polyline,
polygon atau kurva
b. Obyek grafik 2-D
didefinisikan sebagai sekumpulan titik 2-D yang secara komputasi dinyatakan sebagai
array 1-D, atau linked-list.
1.1
LANGKAH-LANGKAH UNTUK
MENDEFINISIKAN OBYEK GRAFIK 2-D
a. Mendefinisikan struktur dari
titik2-D (Point2D_t)
b. Mendefinisikan struktur warna(Color_t)
c. Mendefinisikan struktur dari
obyek grafik 2-D sebagai array dari titik 2-D (Object2D_t)
1.2 MENDEFINISIKAN TITIK 2-D
a. Typedef struct{
float x;
float y;
}
point2D_t;
Definisi ini digunakan bila titik didefinisikan dalam
sistem koordinat yang menggunakan bilangan pecahan (float)
b. Typedef struct{
intx;
inty;
}
point2D_t;
Definisi ini digunakan bila titik didefinisikan dalam
sistem koordinat yang menggunakan bilangan bulat (integer)
1.3
MENDEFINISIKAN WARNA
a. Typedef struct{
float r;
float g;
float b;
}
color_t;
Warna terdiri dari 3 elemen warna
yaitu red (r), green (g) dan blue (b) yang nilainya antara 0 dan 1
b. void setColor(color_tcol){
glColor3f(col.r, col.g, col.b);
}
Fungsi untuk memberi warna pada
obyek grafik
1.4 MENDEFINISIKAN OBYEK GRAFIK 2-D
Definisi
obyek ini dapat dituliskan pada function userdraw secara langsung
dengan menyatakannya sebagai array dari titik 2-D. Sebagai contoh untuk
menyatakan obyek shape dapat dituliskan:
a.
Point2D_t shape[1000]
Untuk
menyatakan obyek bunga dapat dituliskan:
b.
Point2D_t bunga[360]
2.
POLYLINE
Polyline
adalah suatu fungsi yang digunakan untuk menggambarkan obyek 2-D yang sudah didefinisikan
didepan.
a. void
drawPolyline(point2D_t pnt[],intn){
inti;
glBegin(GL_LINE_STRIP);
for
(i=0;i<n;i++) {
glVertex2f(pnt[i].x,
pnt[i].y);}
glEnd();
}
3.
POLYGON
Polygon
adalah suatu fungsi yang mirip dengan polyline hanya saja hasilnya adalah kurva
tertutup, sedangkan polyline hasilnya terbuka kurva
a. void
drawPolygon(point2D_t pnt[],intn){
inti;
glBegin(GL_LINE_LOOP);
for
(i=0;i<n;i++) {
glVertex2f(pnt[i].x,
pnt[i].y);}
glEnd();
}
3.1 FILLPOLYGON
Fungsi
ini digunakan untuk mewarnai sebuah polygon dengan warna tertentu
a.
void
fillPolygon(point2D_t pnt[],intn, color_t color){
inti;
setColor(color);
glBegin(GL_POLYGON);
for (i=0;i<n;i++) {
glVertex2f(pnt[i].x, pnt[i].y);}
glEnd();}
3.2
GRADATE POLYGON
Fungsi ini digunakan untuk mewarnai sebuah polygon dengan
warna-warna yang bergradiasi dari suatu warna kewarna lainnya
a.
void
GradatePolygon(point2D_t pnt[],intn, color_t color){
inti;
glBegin(GL_POLYGON);
for (i=0;i<n;i++) {
setColor(color);
glVertex2f(pnt[i].x, pnt[i].y);}
glEnd();
}
4.
MEMBANGUN OBYEK GRAFIK 2-D
a. Membuat obyek grafik 2-D
secara langsung.
b. Membuat obyek grafik 2-D
secara perhitungan matematis.
4.1
MEMBANGUN OBYEK GRAFIK 2-D
SECARA LANGSUNG
Membuat
obyek grafik 2-D secara langsung bisa dilakukan pada function userdraw() dengan
menyatakan secara langsung koordinat titik-titiknya
a.
void
userdraw()
{ Point2D_t kotak[4]={{100,100},{300,100},
{300,200},{100,200}};
Polygon(kotak,4);
}
Program
ini digunakan untuk membuat kotak
4.2
CONTOH MEMBUAT BINTANG
a.
void
userdraw()
{ Point2D_tbintang[10]={{80,146},{99,90},
{157,90},{110,55},{128,1},{80,34},{32,1},
{54,55},{3,90},{63,90}};
Polygon(bintang,10);
}
4.3
MEMBANGUN OBYEK GRAFIK 2-D
DENGAN PERSAMAAN MATEMATIK
Dengan persamaan matematik y=f(x) dapat digambarkan kurva dengan variasi bentuk
yang menarik seperti sinus, cosinus, exponential dan logaritma, atau fungsi gabungannya.
Bentuk persamaan matematik yang menarik untuk dibuat adalah dengan menggunakan sistem
koordinat polar.persamaan atematik
(θ)
adalah sudut yang berjalan dari 0 s/d 360 yang dinyatakan dalam radian (0 s/d
2π). Macam-macamr=f(θ) dapat menghasilkan gambar yang bervariasi.
4.4
CONTOH FUNGSI POLAR
Masih
banyak variasi fungsi yang lain yang dapat dibangun dengan menggunakan koordinat
polar ini
4.5 PROGRAM MEMBANGUN OBYEK
GRAFIK 2-D DENGAN MENGGUNAKAN KOORDINAT POLAR
a. voiduserdraw()
{ Point2D_t shape[360];
doublesrad,r;
for(ints=0;s<360;s++)
{ srad=s*3.14/180;
r=sin(5*srad);
shape[s].x=(float)(r*cos(srad));
shape[s].y=(float)(r*sin(srad));
} Polygon(shape,360);}
Fungsi sin(5θ) yang menghasilkan rose 5 daun
5.
ANIMASI 2D
a. Membuat obyek grafik 2-D
menjadi bergerak.
b. Animasiyang dilakukan adalah
memindahkan posisi gambar.
c. Pada sistem koordinat kartesian
animasi akan berefek gerakan linier (translasi), pada sistem koordinat polar
akan berefek gerakan berputar(rotasi).
5.1
PEMBUATAN ANIMASI 2D
a. Pada main()ditambahkan fungsi
glutIdleFunc(display) sebelum fungsi glutDisplayFunc(display).
b. Pada awal fungsi userdraw() didefinisikan
static inttick
c. Pada akhir fungsi userdraw()
ditambahkan perintah untuk menambah nilai tick secara terus menerus dengan tick++.
d. Tambahkan nilai tick ini pada
nilai variabel dasar pembuatan grafik
5.2
PROGRAM ANIMASI 2D DENGAN
MENGGUNAKAN KOORDINAT POLAR
a. voiduserdraw()
{ static inttick=0;
Point2D_t
shape[360];
doublesrad,r;
for(ints=0;s<360;s++)
{
srad=(s+tick)*3.14/180;
r=sin(5*srad);
shape[s].x=(float)(r*cos(srad));
shape[s].y=(float)(r*sin(srad));
} Polygon(shape,360);
tick++;
}
BAB IV
GRAFIKA 3 DIMENSI
MATERI
•Sistem Koordinat
•Titik 3
Dimensi
•Definisi Obyek
3 Dimensi
•Implementasi
Definisi Dari Struktur Face
•Implementasi
Definisi Dari Struktur Obyek 3D
•Contoh
Pernyataan Obyek Limas Segiempat
•Implementasi
Pernyataan Obyek 3 Dimensi
•Implementasi Konversi
Vektor 3D Menjadi Titik 2D
•Implementasi
Konversi Titik 3D Menjadi Vektor 3D
•Implementasi
Cara Menggambar Obyek 3D
•Implementasi
Tilting
1.
SISTEM KOORDINAT 3 DIMENSI
2.
TITIK 3 DIMENSI
a. Titik 3D dinyatakan dengan
P(x,y,z)
Typedef struct
{
float x,y,z;
} point3D_t
3.
DEFINISI
OBYEK 3 DIMENSI
a.
Obyek
face yang digabungkan
b.
Face adalah
4.
IMPLEMENTASI
DEFINISI DARI STRUKTUR FACE
a. Typedef struct
{ int NumberofVertices;
short intpnt[32];
} face_t;
NumberofVertices
menyatakan jumlah
titik pada sebuah face
pnt[32] menyatakan nomor-nomor titik yang digunakan untuk membentuk
face, dengan maksimum 32 titik
5.
IMPLEMENTASI
DEFINISI DARI STRUKTUR OBYEK 3D
a. Typedef struct
{ int NumberofVertices;
point3D_t pnt[100];
int
NumberofFaces;
face_t
fc[32];
}
object3D_t;
NumberofVertices
menyatakan jumlah
titik yang membentuk obyek.
pnt[100] menyatakan titik-titik yang
membentuk face, dengan maksimum 100 titik
NumberofFaces menyatakan jumlah face yang
membentuk obyek
Fc[32]menyatakan face-face
yang membentuk obyek
6.
CONTOH
PERNYATAAN OBYEK LIMAS SEGIEMPAT
a. Titik-titikyang
membentukobyek:
Titik0 (0,150,0)
Titik1
(100,0,0)
Titik2 (0,0,100)
Titik3 (-100,0,0)
Titik4 (0,0,-100)
b.
Face yang membentuk obyek:
Face 0 0,2,1
Face 1 0,3,2
Face 2 0,4,3
Face 3 0,1,4
Face 4 1,2,3,4
7.
IMPLEMENTASI
PERNYATAAN OBYEK 3 DIMENSI
a.
object3D_t prisma={5,
{{0,100,0},{100,0,0},{0,0,100},
{-100,0,0},{0,0,-100}},5,{{3,{0,1,2}},
{3,{0,2,3}},{3,{0,3,4}},{3,{0,4,1}},
{4,{1,4,3,2}}}};
Pernyataan
ini ditulis pada fungsi userdraw sebagai nilai dari obyek 3D yang akan digambarkan
8.
IMPLEMENTASI KONVERSI VEKTOR 3D MENJADI TITIK 2D
a.
point2D_t Vector2Point2D(vector3D_t vec)
{ point2D_t pnt;
pnt.x=vec.v[0];
pnt.y=vec.v[1];
return pnt;
}
9.
IMPLEMENTASI KONVERSI TITIK 3D MENJADI VEKTOR 3D
a. vector3D_t Point2Vector(point3D_t pnt)
{ vector3D_t
vec;
vec.v[0]=pnt.x;
vec.v[1]=pnt.y;
vec.v[2]=pnt.z;
vec.v[3]=1.;
return vec;
}
10. IMPLEMENTASI CARA MENGGAMBAR OBYEK 3D
a.
mat=tilting;
for(i=0;i<prisma.NumberofVertices;i++)
{ vec[i]=Point2Vector(prisma.pnt[i]);
vec[i]=mat*vec[i];
} for(i=0;i<prisma.NumberofFaces;i++)
{ for(j=0;j<prisma.fc[i].NumberofVertices;j++)
vecbuff[j]=vec[prisma.fc[i].pnt[j]];
for(j=0;j<prisma.fc[i].NumberofVertices;j++)
titik2D[j]=Vector2Point2D(vec[prisma.fc[i].pnt[j]]);
drawPolygon(titik2D,prisma.fc[i].NumberofVertices);
}
mat=tilting;
for(i=0;i<prisma.NumberofVertices;i++)
{ vec[i]=Point2Vector(prisma.pnt[i]);
vec[i]=mat*vec[i];
}
Deklarasimat sebagai matrik tilting
menyatakan bahwa obyek yang digambar mengikuti pergerakan sumbu koordinat(tilting).
Setiap titik diubah menjadi vektor dengan memperhatikan
matrik transformasi yang dinyatakan dala mat.
11. IMPLEMENTASI TILTING
Tilting adalah matrik rotasi dari sumbu koordinat dan semua obyek yang
digambar didalamnya.
a. float theta=0.5;
matrix3D_t
tilting=rotationXMTX(theta)*rotationYMTX(-theta);
Dalam deklarasi ini, matrik tilting adalah rotasi terhadap sumbu Y
sebesar-0.5 rad dan rotasi terhadap sumbu X sebesar0.5 rad.
b. for(i=0;i<prisma.NumberofFaces;i++)
{ for(j=0;j<prisma.fc[i].NumberofVertices;j++)
vecbuff[j]=vec[prisma.fc[i].pnt[j]];
for(j=0;j<prisma.fc[i].NumberofVertices;j++)
titik2D[j]=Vector2Point2D(vec[prisma.fc[i].pnt[j]]);
drawPolygon(titik2D,prisma.fc[i].NumberofVertices);
}
Untuk
setiap face pada obyek 3D:
(1)Ambilvektordarisetiaptitikpadaface
tersebut
(2)Konversikansetiapvektor3D menjadititik2D
(3)Dari hasilkonversidigambarkanpolygon
Best Online Casino Sites in the Philippines
BalasHapusWe have gathered the best online casinos and online casinos in the Philippines for the Philippines. You can play here today with our list of the top rated Can I play online casino for real money in the Philippines?How many online casino sites are available luckyclub.live in the Philippines?