Kamis, 27 September 2012

BISNIS INFORMATIKA JASA PENJUALAN TOKO ONLINE DAN JASA INTERNET BESERTA DAMPAK POSITIF DAN NEGATIF YANG DITIMBULKAN



Pendahuluan

Bisnis Informatika belakangan ini mengalami kemajuan yang cukup pesat seiring perkembangan Teknologi Informasi. Bisnis informatika merupakan  suatu kegiatan yang dilakukan individu atau sekelompok orang yang memiliki nilai (value) dengan tujuan mendapatkan keuntungan (profit) yang dilakukan dengan bantuan adanya teknologi informasi yang berkembang pesat saat ini. 

Perkembangan bisnis dalam bidang informatika itu sendiri saat ini sangatlah maju. Hal ini dapat dilihat dari berbagai usaha-usaha yang dibangun dengan memanfaatkan teknologi informasi, contohnya seperti: warnet, rental pengetikan komputer, konsultan IT, infrastruktur komputer dan masih banyak lagi.
Perkembangan bisnis informatika sekarang ini cukup menaik drastis, dari segi software, hardware, jasa konsultasi, bisnis internet/online, dan lain-lain. Kenaikan tersebut di faktori oleh naiknya kebutuhan akan teknologi informasi, tidak bisa dipungkiri lagi memang segala sesuatu dari urusan pekerjaan kita maupun urusan pribadi kita tak lepas dari dunia teknologi informasi sekarang ini. Pada penulisan diblog kali ini Saya akan membahas tentang “ bisnis informatika jasa penjulan toko online dan jasa internet beserta dampak positif dan negatif yang ditimbulkan “

Pembahasan

Bisnis Informatika adalah suatu kegiatan yang dilakukan individu atau sekelompok orang (organisasi) yang memiliki nilai (value) dengan tujuan mendapatkan keuntungan (profit) yang dilakukan dengan bantuan teknologi informasi.

Dengan berkembangnya teknologi yang begitu pesat saat ini maka secara tidak langsung Bisnis informatika berkembang dengan pesat  juga akhir – akhir ini. Karena Bisnis Informatika muncul  adanya peluang yang terdapat di dalam suatu teknologi informasi. 


  • Salah satu bisnis informatika adalah Internet. Tidak dapat di pungkiri sekarang internet sudah mengalami pergeseran kebutuhan di dalam masyarakat Indonesia bahkan masyarakat Dunia. Yang dahulu Internet merupakan suatu kebutuhan pelengkap atau masih merupakan kebutuhan yang “mewah” bagi sebagian masyarakat, sekarang menjadi suatu kebutuhan sekunder ataupun kebutuhan primer. Karena sekarang kita dapat semakin mudah dan murah untuk mendapatkan akses internet. Seperti yang kita ketahui saat ini banyak sekali bisnis warnet yang gencar dilakukan saat ini dengan berbagai macam fasilitas yang ditawarkan berupa browsing, chat , printer, scan , games online dan lain sebagainya dengan berkembangnya bisnis internet  berimbas pula terhadap bisnis provider maupun modem yang ditawarkan pada konsumen untuk paket internet murah , karna untuk mengetahui dunia hanya cukup melalui internet disinilah teknologi berperan penting yang berimbas pula terhadap berimbas pula terhadap bisnis informatika sekarang ini . Hal ini tidak lepas dari semakin berkembangnya teknologi informasi. sekarang jelas apa itu bisnis informatika, dimulai dari hal yang maya(internet)  kita bisa menghasilkan rupiah yang tidak sedikit jumlah, terlebih lagi apabila bisnis internet dibuka dekat dengan kampus maupun sekolah-sekolah.



  • sebagai contoh lain  bisnis informatika sekarang ini yang berkembang pesat adalah  banyak situs-situs penyedia jasa penjualan online, pembeli tidak perlu repot untuk berbelanja keluar rumah mengunakan kendaraan , pada saat ini berbelanja tidak perlu bertemu langsung antara penjual dan pembeli hanya cukup melalui media internet online, semisal Toko Bagus merupakan salah satu took online  yang akhir-akhir ini sangat  gencar melakukan promosi besar-besaran di seluruh media masa dan elektronik, situs ini memiliki lahan untuk kita berjualan, caranya cukup mudah kita hanya tinggal mendeskripsikan barang yang akan kita jual, lengkap dengan penjelasannya dan tambahkan foto agar lebih meyakinkan penjual, dan kita hanya duduk manis dirumah untuk menunggu penawaran dari pembeli, nah disinilah kemampuan negosiasi dengan pembeli diperlukan pikirkan baik-baik untuk mendapatkan keuntungan yang maksimal.


 
Tetapi dengan adanya bisnis berbasis teknologi dapat berdampak positif dan negatif,  
Saya akan mengulas sedikit tentang manfaat serta dampak negatif terhadap kemajuan teknologi dibidang bisnis dan etika bisnis secara tradisional.

 
  • Dampak positif


Tak dapat terelakan, munculnya bisnis online/toko online di dunia maya sangat pesat pertumbuhannya. Mudahnya cara bertransaksi jual beli online menjadikan seseorang tidal lagi harus repot-repot pergi dan habiskan banyak waktu, tenaga hanya untuk membali sebuah barang. Karena bermodalkan sebuah PC dan terhubung dengan internet, konsumen cukup memilih barang dan membayarnya VIA internet banking.


  • Dampak negatif


dampak negatif dari perkembangan teknologi adalah hilangnya etika berbisnis yang dahulunya di lakukan secara tradisional atau secara langsung. Sebagai pembeli kita tahu betul bagaimana menjadi seorang pembeli yang baik dan mempunya etika dalam proses penawaran serta tutur kata yang baik terhadap penjual. Sebalikknya, sebagai penjual kita juga tahu bagaimana melayani pembeli dengan etika-etika yang baik juga. Pembicaraan secara langsung dapat menumbuhkan sosialisai yang tinggi terhadap sesama manusia. Serta dapat menjalin silaturahmi terhadap kedua belah pihak. Hal inlah yang sekarang telah luntur karena perkembangan teknologi yang sangat canggih, saya berpendapat, bahwa kedepan seseorang akan hilang jabatan sebagai makluk sosial yang seharusnya itu menempel sejak lahir.  

                           http://ulpiupie.blogspot.com/2011/11/bisnis-informatika.html
                            http://joelnino.wordpress.com/2011/10/12/bisnis-informatika/
                            http://yoir.wordpress.com/bisnis-informatika/
                            http://www.google.co.id/






Selasa, 10 Juli 2012

Diffuse Cahaya Pemetaan


Diffuse Cahaya Pemetaan
Teknik pertama kita akan membahas ringan pemetaan difus, yang menggunakan cahaya untuk mensimulasikan peta Lambert
persamaan pencahayaan difus. Pada dasarnya, kami akan mencoba untuk tetap tidak berubah dalam bahan yang cukup terang daerah sementara
membuat mereka lebih gelap di daerah teduh. Jika Anda berpikir tentang ini dalam hal aritmatika dan meninjau difus yang
bagian dari persamaan pencahayaan dari bagian sebelumnya, Anda akan melihat bahwa situasi ini adalah setara dengan
tekstur perkalian. Peta cahaya akan menjadi putih (1,1,1) di zona terang dan hitam di sudut-sudut gelap. Jika kita melukis
tekstur dan kemudian kalikan dengan peta cahaya, efek shading meyakinkan difus akan tercapai.
Specular Cahaya Pemetaan
Pencahayaan specular juga dapat disimulasikan dengan peta cahaya. Di sini, kita mencoba untuk "membakar" tekstur karena cahaya menjadi
dipancarkan intens dalam arah tertentu. Pencahayaan specular memiliki potensi downside, meskipun. Ingat bahwa
komponen specular adalah sudut pandang tergantung, sehingga pemirsa bergerak sekitar objek akan melihat highlight bergerak juga. Karena kita membatasi diri kita untuk pemetaan cahaya statis sekarang, kita tidak dapat mensimulasikan
efek ini secara akurat. Tapi bayangkan bahwa jarak dari lampu ke dinding menyala jauh lebih kecil dari
jarak dari penampil ke dinding. Dalam hal ini, ketergantungan specular highlights berkaitan dengan
gerakan penampil akan sangat kecil, dan di situlah letak trik: pemetaan cahaya specular akurat dapat
Model menyoroti disebabkan bukan oleh lampu jauh menerangi permukaan yang sangat reflektif (memikirkan cahaya terang
dan bola logam), tetapi dengan lampu biasa ditempatkan dekat dengan permukaan, sehingga menghasilkan warna yang biasa membakar. Ini
menyoroti hampir sudut pandang independen dan terlihat meyakinkan ketika diberikan dengan peta cahaya.
Dalam hal aritmetika tekstur, peta cahaya specular dapat dianggap sebagai penambahan tekstur. Kami menambahkan cahaya
dengan materi dasar, sehingga mereka piksel dengan komponen specular tinggi tersebut disoroti. Sekali lagi, peta cahaya
akan menyandikan pencahayaan menggunakan murni putih (atau apa pun warna cahaya) untuk daerah specularly terang dan hitam untuk
nonspecular zona. Peta cahaya specular harus digunakan hemat. Kontribusi utama pencahayaan di setiap adegan
selalu menyebar, dan specular highlights digunakan hanya sebagai sentuhan akhir atas bahwa pencahayaan dasar
lapisan.
Global Penerangan Menggunakan Peta Cahaya
Kita dapat menggabungkan komponen menyebar dan specular peta cahaya untuk mencapai hasil yang berkualitas tinggi, sangat
mirip dengan solusi yang diusulkan pada bagian sebelumnya. Sekali lagi, itu semua bermuara pada aritmatika tekstur. Sebuah
iluminasi cahaya mesin peta global akan menggunakan tiga tekstur, dikombinasikan dengan cara berikut:
Warna = Material_Color * Diffuse_light_map + Specular_light_map
Pelaksanaan Pemetaan Light: OpenGL
Peta cahaya dapat diimplementasikan dalam OpenGL melalui render multipass atau dengan menggunakan multitexture pada mampu
perangkat keras. Pilihan multipass agak lebih lambat, tetapi kode mungkin lebih mudah dimengerti, jadi mari kita
mencakup keduanya. Untuk kelengkapan, kami akan meliputi solusi, pencahayaan lebih kompleks global, yang menangani
berdifusi serta pencahayaan specular.
Multipass Versi
Kami akan menerapkan peta cahaya menggunakan tiga lewat: Yang pertama akan membuat sebuah objek dasar yang sesuai dengan
material. Kemudian, kedua lulus akan bertambah banyak, simulasi komponen menyebar. Sebuah lulus ketiga akan melakukan
campuran aditif untuk menggabungkan specular highlights. Mari kita lihat beberapa kode, dan komentar itu:
/ / Pertama lulus
glBindTexture (GL_TEXTURE_2D, basematerialid);
glDisable (GL_BLEND);
glDepthFunc (GL_LESS);
/ / Di sini Anda akan membuat geometri
(...)
/ Pass / kedua: multiply menyebar
glBindTexture (GL_TEXTURE_2D, diffusematerialid);
glEnable (GL_BLEND);
glBlendFunc (GL_DST_COLOR, GL_ZERO);
glDepthFunc (GL_LEQUAL);
/ / Di sini Anda akan mengirim ulang geometri, hanya koordinat pemetaan akan berbeda

(...)
/ Pass / ketiga: aditif specular
glBindTexture (GL_TEXTURE_2D, specularmaterialid);
glEnable (GL_BLEND);
glBlendFunc (GL_ONE, GL_ONE);
glDepthFunc (GL_LEQUAL);
/ / Penyerahan geometri lalu, hanya koordinat pemetaan akan berbeda
(...)
Itu semua bermuara pada pengaturan blending mode yang tepat dan mengirimkan geometri sebanyak yang diperlukan.
Pelaksanaan Pemetaan Light: DirectX
Pada bagian ini, saya akan mengungkapkan kode yang diperlukan untuk menangani pemetaan cahaya di bawah DirectX 9. Kode ini
menyeluruh berkomentar dan sebenarnya cukup mudah. Jika Anda tidak akrab dengan tahap texturing
operasi, lihat bagian "Tekstur Aritmatika" dalam Bab 18, "Pemetaan Tekstur," untuk lebih
informasi. Dalam contoh pertama, kami menerapkan pemetaan cahaya menyebar hanya menggunakan dua melewati: satu untuk
dasar tekstur dan kedua lulus digunakan untuk memodulasi dengan lightmap tersebut.
/ / Contoh ini mengasumsikan bahwa d3dDevice adalah pointer yang valid ke
/ / IDirect3DDevice9 antarmuka.
/ / LptexBaseTexture adalah pointer yang valid untuk tekstur.
/ / LptexDiffuseLightMap adalah pointer yang valid untuk tekstur yang berisi
/ / RGB berdifusi data peta cahaya.
/ / Set tekstur dasar.
d3dDevice-> SetTexture (0, lptexBaseTexture);
/ / Set operasi dasar tekstur dan args.
d3dDevice-> SetTextureStageState (0, D3DTSS_COLOROP,
D3DTOP_SELECTARG1);
/ / Pertama operator: tekstur dasar
d3dDevice-> SetTextureStageState (0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
/ / Set peta terang.
d3dDevice-> SetTexture (1, lptexDiffuseLightMap);
/ / Set tahap campuran. Kami ingin kalikan dengan tahap sebelumnya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLOROP, D3DTOP_MODULATE);
Parameter / / pertama adalah peta cahaya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
/ / Parameter kedua adalah tahap sebelumnya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLORARG2, D3DTA_CURRENT);
Sekarang, contoh yang lebih terlibat yang menangani kedua specular dan menyebar menggunakan tiga tahap:
/ / Contoh ini mengasumsikan bahwa d3dDevice adalah pointer yang valid ke
/ / IDirect3DDevice9 antarmuka.
/ / LptexBaseTexture adalah pointer yang valid untuk tekstur.
/ / LptexDiffuseLightMap adalah pointer yang valid untuk tekstur yang berisi
/ / RGB berdifusi data peta cahaya.
/ / Set tekstur dasar.
d3dDevice-> SetTexture (0, lptexBaseTexture);
/ / Set operasi dasar tekstur dan args.
d3dDevice-> SetTextureStageState (0, D3DTSS_COLOROP,
D3DTOP_SELECTARG1);
/ / Pertama operator: tekstur dasar
d3dDevice-> SetTextureStageState (0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
/ / Set peta terang.
d3dDevice-> SetTexture (1, lptexDiffuseLightMap);
/ / Set tahap campuran. Kami ingin kalikan dengan tahap sebelumnya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLOROP, D3DTOP_MODULATE);
Parameter / / pertama adalah peta cahaya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
/ / Parameter kedua adalah tahap sebelumnya
d3dDevice-> SetTextureStageState (1, D3DTSS_COLORARG2, D3DTA_CURRENT);
/ / Set peta cahaya specular.
d3dDevice-> SetTexture (2, lptexDiffuseLightMap);
/ / Set tahap campuran. Kami ingin menambahkan dengan tahap sebelumnya
d3dDevice-> SetTextureStageState (2, D3DTSS_COLOROP, D3DTOP_ADD);
Parameter / / pertama adalah peta cahaya
d3dDevice-> SetTextureStageState (2, D3DTSS_COLORARG1, D3DTA_TEXTURE);
/ / Parameter kedua adalah tahap sebelumnya
d3dDevice-> SetTextureStageState (2, D3DTSS_COLORARG2, D3DTA_CURRENT);
Seperti yang Anda lihat, keduanya adalah kompleks: Ini semua adalah masalah mengetahui matematika di belakang lightmapping dan
mengekspresikan dengan benar dalam API pilihan Anda.
Membuat Peta Cahaya
Peta cahaya dapat dibuat dalam berbagai cara. Sebuah pendekatan, pertama naif akan melukis mereka dengan
tangan. Hal ini dapat dicapai dengan perangkat lunak pengolah gambar seperti Adobe Photoshop, dan tergantung
pada bakat artis, dapat menghasilkan hasil yang mencolok baik. Tapi itu adalah proses yang memakan waktu, dan mendapatkan
kanan interaksi halus cahaya pada permukaan terkadang lebih mudah diucapkan daripada dilakukan. Beberapa iluminasi
efek cukup tidak terduga, dan seniman mungkin gagal untuk menyampaikan kompleksitas dunia nyata pencahayaan.
Alternatif kedua adalah dengan menghitung mereka dengan bantuan paket rendering. Paket render paling bisa
membantu kita, dengan berbagai tingkat keberhasilan, dalam proses membuat peta cahaya. Namun, sebagian dari mereka akan
memerlukan pengolahan pasca karena mereka jarang menawarkan "cradle-to-kuburan" pilihan peta penciptaan cahaya. Dengan demikian,
Alternatif ketiga dan cukup populer adalah untuk menghitung peta ini dengan alat proprietary, yang melakukan
pencahayaan yang lengkap analisis, tekstur menghitung, dan menyimpannya dalam format yang sesuai.
Paket perangkat lunak yang dapat membantu Anda menghitung peta cahaya. Renderers komersial dapat membuat gambar terlihat
dari sumber cahaya, sehingga Anda dapat menggunakan kembali ini peta bayangan. Radiositas prosesor dapat menganalisis pencahayaan dalam sebuah adegan
dan output informasi per titik, dan dalam beberapa kasus, bahkan menghasilkan peta cahaya yang dibutuhkan.
Kadang-kadang, bahkan ditambah dengan radiositas preprocess untuk memastikan bahwa data pencahayaan adalah benar untuk hidup.
Peta Perhitungan Light: Phong Cara pertama dan paling sederhana dari menghitung peta cahaya adalah hanya mengevaluasi diffuse dan specular
komponen pencahayaan dengan mengambil lampu menjadi pertimbangan, tetapi melupakan occluders dan bayangan. Itu
proses relatif mudah dan akan memimpin jalan untuk solusi yang lebih terlibat terbuka di
mengikuti bagian. Untuk menjaga hal-hal yang lebih sederhana, mari kita lupakan tentang peta cahaya kemasan untuk kedua dan fokus
pada pembuatan peta cahaya untuk quad tunggal, diterangi beberapa sumber cahaya berwarna.
Keputusan pertama untuk membuat adalah ukuran peta cahaya. Ketika Anda akan segera melihat, ukuran ini menentukan bukan hanya
kualitas hasil, tetapi juga jejak memori dari aplikasi kita. Peta cahaya biasanya rendah
resolusi karena mereka mewakili gradien pencahayaan. Jadi, ketika diperbesar, interpolasi tidak menghasilkan
visual yang artefak, melainkan membantu kelancaran keluar pencahayaan. Isu lain yang harus diperhatikan ketika memilih
ukuran yang tepat adalah bahwa untuk mencapai hasil yang realistis, semua peta cahaya harus lebih atau kurang dari skala yang sama: Sebuah
quad lebih besar akan membutuhkan peta cahaya yang lebih besar, dan sebagainya. Dengan demikian, akan sangat berguna untuk berpikir tentang peta cahaya dalam hal
dunia-ruang ukuran. Sebagai contoh, apa frekuensi sampling yang Anda ingin membangun dalam satuan dunia? Will salah satu
lumel (setara dengan piksel pada peta cahaya) sesuai dengan satu sentimeter, 10 sentimeter, atau setengah
kilometer?
Sebagai contoh sederhana kita, mari kita asumsikan quad kita adalah 1X1 meter persegi. Kita akan menggunakan peta cahaya 64x64, sehingga
pencahayaan akan memiliki resolusi 1,5 sentimeter per sampel sekitar.
Setelah resolusi peta cahaya telah ditetapkan, kita perlu menghitung koordinat setiap titik pengambilan sampel, sehingga kami
kemudian dapat menerangi itu. Titik pengambilan sampel komputasi pada quad adalah interpolasi bilinear sederhana, yang
membagi quad di ubin sehalus ukuran peta cahaya. Berikut adalah kode untuk menghitung koordinat peta cahaya
(Dalam ruang 3D) untuk lumel (lu, lv):
titik Create3Dpoint (float lu, float lv)
{
/ / Interpolasi sepanjang sumbu U
titik v1 = p2-p1;
titik v2 = p3-p4;
titik v1 = p1 + v1 * (lu / LIGHTMAPSIZEU);
titik v2 = p4 + v2 * (lu / LIGHTMAPSIZEU);
/ / Interpolasi sepanjang sumbu V
titik w1 = v2-v1;
titik w2 = v1 + w1 * (lv / LIGHTMAPSIZEV);
kembali w2;
}
Sekarang kita memiliki titik 3D kita ingin menghitung pencahayaan untuk. Tapi ini adalah bagian yang mudah, karena kita
dibahas persamaan ambien-baur-specular pencahayaan klasik sebelumnya dalam bab ini. Sekarang, itu semua
masalah dari perulangan melalui lampu adegan, menghitung kontribusi mereka terhadap pencahayaan lumel yang kita
kerjakan. Semua dalam semua, menghitung peta cahaya tunggal dipengaruhi oleh jumlah lampu adalah O (n ^ 3) proses. Kita
harus mengulang melalui array bidimensional dari lumels, masing-masing dipengaruhi oleh beberapa lampu. Mengingat
bahwa ini hanyalah cahaya yang paling sederhana (dan tercepat) peta proses komputasi, Anda akan memahami mengapa cahaya
Peta ini biasanya dibuat dalam preprocess, sering mengambil beberapa menit untuk menyelesaikannya.
Singkatnya, di sini adalah pseudocode untuk prosesor peta cahaya yang menangani adegan lengkap. Untuk
mempermudah, saya telah mengasumsikan setiap peta cahaya disimpan dalam peta tekstur yang berbeda. Kami akan mencakup peta cahaya
packing di bagian "Menyimpan Peta Cahaya." untuk setiap primitif dalam adegan
menghitung ukuran cahaya peta yang ideal
untuk setiap posisi dalam peta cahaya sepanjang sumbu u
untuk setiap posisi dalam peta cahaya sepanjang sumbu v
un-proyek U, V untuk 3D koordinat
menginisialisasi kontribusi pencahayaan ke 0
untuk setiap lampu dalam adegan
menambahkan pengaruh lampu untuk kontribusi keseluruhan
akhir untuk
menyimpan kontribusi pencahayaan ke peta cahaya
akhir untuk
akhir untuk
menyimpan peta cahaya
akhir untuk
Perhatikan bahwa, tergantung pada bagaimana Anda menghitung pencahayaan, Anda dapat menghasilkan menyebar-only, specular-only, atau keduanya
specular dan diffuse cahaya peta dengan algoritma sebelumnya. Semuanya tergantung pada bagaimana Anda menerapkan
pencahayaan persamaan. Namun, beberapa efek tidak akan diberikan dengan benar. Bayangan, misalnya, tidak akan
dipertanggungjawabkan. Kami akan membutuhkan algoritma yang lebih terlibat untuk meningkatkan realisme.
Cahaya Peta Perhitungan: Ray Tracing
Kami dapat menghasilkan hasil cari yang lebih baik dengan memperkenalkan teknik ray tracing ke dalam algoritma sebelumnya.
Algoritma inti akan tetap sama, tapi sebelum mempertimbangkan kontribusi lampu diberikan kepada sebuah lumel,
kami akan menembakkan sinar bayangan dari lumel untuk lampu dan tes untuk persimpangan dengan seluruh TKP.
Dengan cara ini kita dapat menangani bayangan untuk realisme jauh meningkat. Perhatikan bagaimana kita tidak akan menggunakan sinar rekursif
tracing, yang disediakan untuk refleksi dan transparansi. Sebuah sinar tunggal bayangan dari lumel ke
cahaya akan memberitahu kami jika lumel harus diterangi lampu atau jika tetap di tempat teduh.
Dengan demikian, penambahan utama dengan algoritma sebelumnya adalah baik konstruksi dari sinar bayangan dan
bayangan sinar-adegan tes persimpangan. Konstruksi sangat sederhana: Sinar biasanya diwakili oleh
asal (dalam kasus kami, lumel yang sedang menyala) dan arah vektor satuan:
ray.origin = lumel;
ray.direction = lamp.pos - lumel;
ray.direction.normalize ();
Sekarang, komputasi sinar-adegan tes persimpangan adalah masalah yang berbeda (sedih, yang lebih kompleks). Efisien
sinar-segitiga tes set sulit ditemukan. Saya akan mengekspos tes sederhana (yang kebetulan satu paling lambat)
dan juga tes yang sangat efisien, yang akan menghasilkan dekat-optimal hasilnya.
Dalam sebuah adegan sederhana, cara termudah untuk menghitung persimpangan antara sinar dan satu set segitiga adalah untuk
memeriksa satu per satu segitiga dan segitiga-test masing-masing. Jika salah satu segitiga efektif memotong
ray, lumel kita adalah di dalam bayangan. Uji sinar-segitiga adalah sebagai berikut:
1. Melakukan uji sinar-pesawat antara ray dan dukungan pesawat segitiga.
2. Jika mereka berpotongan, menghitung titik persimpangan.
3. Menggunakan aturan segitiga berkelok-kelok, pastikan titik persimpangan adalah di dalam segitiga. Anda dapat membuat tes penolakan awal dengan memastikan asal ray efektif terletak di depan setiap segitiga
Anda uji (menggunakan segitiga normal). Hanya terlihat (nonculled) segitiga sebenarnya dapat menyebabkan titik di tingkat
berada dalam bayangan.
Algoritma ini berjalan di O (jumlah segitiga dalam adegan). Sekarang, karena prosesor peta cahaya biasanya
menjalankan offline, biaya tinggi ini mungkin tidak menjadi masalah. Tapi ingat untuk mengawasi total Anda
komputasi biaya. Ray tracing adalah suatu algoritma yang intensif, dan waktu pengolahan dapat meroket jika Anda tidak
hati-hati. Sebagai contoh, berikut adalah biaya komposit prosesor peta cahaya menggunakan ray tracing dengan
persimpangan uji:
O (jumlah segitiga * lightmap U V lightmap ukuran * Ukuran * (jumlah lampu * nomor
segitiga))
Perhatikan bagaimana biaya dalam kurung dalam adalah untuk lulus ray tracing. Setiap lumel harus menembak sinar ke
setiap lampu, dan sinar ini perlu diuji terhadap semua tingkat geometri-semua dalam semua, O (n ^ 5).
Sekarang, kita dapat menggunakan tes sinar-segitiga persimpangan lebih baik untuk membantu mengurangi waktu pengolahan. Yang akan kita gunakan
mengambil keuntungan dari perhitungan visibilitas. Dengan mengetahui area mana dari tingkat terlihat dari yang diberikan
lumel, kita dapat mengurangi potensi lampu dan set occluder. Bayangkan, misalnya, bahwa Anda bekerja dengan
pendekatan portal. Kemudian, diberi lumel (dalam koordinat 3D), Anda dapat menghitung mana sel-sel yang terlihat dari
titik itu. Karena kita hanya mempertimbangkan pencahayaan langsung, lampu hanya dalam sel terlihat berpotensi dapat
menerangi lumel, sehingga kita bisa mulai dengan menghilangkan semua yang lain sebagai calon.
Sebuah perbaikan kedua muncul dalam tes persimpangan sinar-segitiga. Untuk segitiga membayangi lumel tersebut,
segitiga harus terletak di salah satu sel terlihat juga. Jika segitiga tidak dalam Set Berpotensi Terlihat (PVS) dari
lumel, bagaimana bisa itu bayangan lumel itu?
Dengan demikian, algoritma pemetaan pemrosesan yang lebih baik cahaya dapat dibangun. Berikut adalah pseudocode untuk algoritma ini:
untuk setiap primitif dalam adegan
menghitung ukuran cahaya peta yang ideal
untuk setiap posisi dalam peta cahaya sepanjang sumbu u
untuk setiap posisi dalam peta cahaya sepanjang sumbu v
un-proyek U, V untuk 3D koordinat
menginisialisasi kontribusi pencahayaan ke 0
menghitung sel yang berpotensi terlihat dari lumel
untuk setiap lampu di set terlihat
menghitung sinar bayangan dari lumel untuk lampu
untuk setiap segitiga pada set terlihat
tes untuk persimpangan antara sinar dan segitiga
akhir untuk
jika tidak ada persimpangan terjadi
menambahkan pengaruh lampu pada kontribusi dunia
akhir jika
akhir untuk
menyimpan kontribusi pencahayaan ke peta cahaya
akhir untuk
akhir untuk
menyimpan peta cahaya
akhir untuk
Perhatikan bagaimana versi baru ini jauh lebih efisien daripada menggunakan brute force sinar-segitiga persimpangan. Dalam tingkat besar dengan segitiga tinggi (dan lampu) jumlah, perbedaan antara menggunakan brute force ray tracing dan ini
baru, metode dipercepat akan sangat lipat, mengingat sifat intensif ray tracing
pendekatan.
Sebagai catatan akhir, Anda juga dapat mempercepat tes sinar-segitiga langsung jika Anda tidak dapat mengandalkan visibilitas
struktur. Banyak metode telah dirancang selama bertahun-tahun-yang paling efisien mungkin sedang di Fujimoto
algoritma. Metode ini, bersama dengan tes persimpangan untuk bola dan kotak, dijelaskan sepenuhnya dalam Bab
20, "Rendering Organik."
Lanjutan Cahaya Peta Menggunakan Ray Tracing
Teknik ray tracing lebih kuat dapat digunakan untuk menghitung efek kompleks pemetaan cahaya. Dalam
bagian, saya akan memberikan daftar efek dan teknik yang sesuai.
Penumbras, misalnya, dapat dengan mudah ditambahkan ke lulus ray tracing dengan menggunakan Stochastic (Monte-Carlo) ray
pelacakan. Di sini kita memperpanjang sinar bayangan kepada sekelompok ray, yang diarahkan dalam distribusi Poisson
menuju sumber cahaya (yang pada gilirannya perlu menjadi cahaya area) dalam sebuah kerucut. Ray Setiap kemudian diuji
dengan adegan untuk oklusi. Dengan sampling daerah pencahayaan keseluruhan, bayangan tidak lagi biner, tetapi bisa
menawarkan gradasi halus (lihat Gambar 17.5). Stochastic ray tracing secara signifikan lebih lambat dari klasik
algoritma, namun hasil telah meningkatkan kualitas. Juga, kita dapat kembali menggunakan teknik visibilitas untuk mempercepat
proses. Kami hanya akan api sinar terhadap mereka beberapa lampu itu, yang terlihat dari lumel, memiliki suatu daerah.
Gambar 17.5. Umbras dan penumbras.

  Varian dari ray tracing disebut pemetaan foton dapat digunakan untuk precompute fenomena konsentrasi cahaya
atau caustic. Di sini, preprocess kebakaran sejumlah sinar dari sumber cahaya yang berbeda (biasanya, beberapa
ratus ribu) dan membuat mereka memantul dari permukaan yang berbeda. Setiap kali sebuah lumel terkena sinar, kita
meningkatkan counter. Jadi pada akhir ini preprocess, kita dapat melihat apakah sebuah lumel menerima banyak penerangan atau jika
itu tetap di tempat teduh. Jika kita menganggap benda semitransparan menggunakan hukum Snellius, konsentrasi cahaya
h
fenomena akan berlangsung, dan dengan demikian akan dimasukkan ke dalam peta cahaya.
Tapi jangan melebih-lebihkan peta cahaya. Karena kita menghitung mereka sebagai preprocess, bayangan tidak akan
sebagai langkah menghidupkan lampu, dan caustic dibuat oleh kolam renang akan tetap bergerak.
Peta cahaya Perhitungan: radiositas
Sebuah alternatif untuk ray tracing, dan mungkin metode yang memberikan hasil terbaik, menggunakan sebuah radiositas
prosesor untuk menghitung peta cahaya. Radiositas adalah analisis algoritma pencahayaan yang berbasis di fisika nyata, dengan masing-masing
elemen permukaan bertindak baik sebagai penyerap cahaya yang masuk dan reflektor. Dengan demikian, radiositas bisa
secara akurat menghitung bagaimana cahaya bereaksi dalam sebuah adegan, dimana konsentrat, dan di mana bayangan muncul.
Algoritma radiositas cukup terlibat. Dengan demikian, banyak perusahaan menggunakan perangkat lunak komersial untuk menghitung
solusi untuk masalah. Jika Anda ingin kode Anda sendiri, bagian ini memberi Anda gambaran umum.
Radiositas mencoba untuk menghitung pencahayaan global dalam hal transfer energi antara permukaan yang berbeda dalam
adegan. Dimulai dengan membagi adegan ke patch dan menugaskan dua nilai untuk masing-masing: nilai iluminasi
(Yang merupakan seberapa banyak cahaya itu menerima dari patch lainnya) dan energi radiasi (jumlah
energi pada patch). Seperti mungkin Anda ketahui, tidak ada sumber cahaya di radiositas. Sebuah sumber cahaya adalah
hanyalah patch dengan energi radiasi. Sekarang, kita perlu menghitung transfer energi dari setiap pasangan
permukaan, yang merupakan O (n2) masalah. Kami mengambil setiap patch dan menghitung faktor yang tergantung pada
jarak, bentuk, dan orientasi, dan mewakili berapa banyak energi dapat ditransfer dari satu patch untuk
yang lain. Faktor ini dikenal sebagai faktor bentuk.
Faktor bentuk yang tercantum dalam matriks nxn, yang mewakili semua hubungan antara patch. Kemudian, untuk
menghitung transfer energi, kita memindai matriks mencari patch dengan energi radiasi. Ketika kita menemukan
satu, kita mengalihkan sebagian energi itu untuk patch lain dengan menggunakan faktor bentuk, dengan demikian melaksanakan satu langkah
dalam proses iluminasi. Kami kemudian memulai lagi, menganalisa lagi yang masih memegang posisi matriks radiasi
energi. Dalam gelombang kedua, kita akan mempertimbangkan kedua emitter awal dan emitter yang menerima energi
pada langkah sebelumnya, yang menjadi penghasil emisi sekunder. Proses ini iterasi sampai transfer energi adalah
bawah ambang batas, dan kita dapat mengatakan solusinya adalah stabil.
Ada sejumlah isu tentang pendekatan ini. Matriks dapat menjadi besar, terutama jika kita ingin
solusi pixel akurat. Tingkat 1.000-segitiga membutuhkan 1.000 x1, 000 matriks, dengan asumsi satu kebutuhan segitiga
satu patch persis. Itu jarang terjadi, karena kita akan membutuhkan resolusi lebih dan akan membagi segitiga
untuk menghitung hasil yang lebih halus. Solusi untuk masalah ini berasal dari perbaikan progresif, perbaikan
atas dasar algoritma radiositas diusulkan oleh Cohen, Chen, Wallace, dan Greenberg pada tahun 1988.
Dalam perbaikan progresif, kita tidak lagi menggunakan matriks radiositas untuk menghitung solusi. Sebaliknya, kita
menghitung permukaan larutan dengan permukaan. Kami memindai daftar permukaan dan pilih permukaan dengan yang paling
energi radiasi untuk berkontribusi ke tempat kejadian. Kemudian, kita "menembak" energi itu dan menyebarkannya ke tempat kejadian
menggunakan faktor bentuk. Hal ini menghasilkan redistribusi energi di seluruh patch. Kami kemudian memilih
permukaan dengan energi yang paling radiasi. Permukaan asli mungkin berada pada daftar calon, tetapi tidak dengan
jumlah energi yang sama: Energi itu sudah ditembak. Jadi, kita memilih radiator baru dan iterate
proses. Algoritma berhenti setiap kali radiator terbesar berikutnya memiliki tingkat energi bawah ambang batas,
dan dengan demikian kita dapat mengasumsikan kontribusinya terhadap solusi akhir adalah minimal. Seperti yang Anda lihat, kami belum berbicara
tentang matriks sama sekali. Yang kita butuhkan untuk menyimpan untuk perbaikan progresif untuk bekerja adalah tingkat energi dari semua
permukaan pada saat tertentu. Berikut adalah algoritma:
ulangi
pilih permukaan i dengan energi radiasi tertinggi
menyimpan faktor radiasi yang menghitung energi bentuk dari i ke semua permukaan lainnya j Fij
untuk setiap j permukaan
memperbarui pencahayaan berdasarkan Fij dan radiositas i
memperbarui energi radiasi berdasarkan Fij dan radiositas I
akhir untuk
mengatur emisi dari i ke nol
sampai energi radiasi dari permukaan yang dipilih <ambang
Keuntungan lain dari perbaikan progresif adalah bahwa pengamat bisa sangat baik mengawasi bangunan solusi
proses. Ini akan mulai dengan layar hitam, dan sebagai energi yang dipancarkan, adegan akan menyala. Ini
memungkinkan untuk penolakan yang cepat dari adegan yang solusinya tidak mencari yang baik dan untuk melihat dulu hasilnya.
Isu lain yang populer tentang radiositas adalah bagaimana faktor bentuk dihitung. Sejumlah solusi memiliki
telah diusulkan, dari ray tracing dan menghitung persentase sinar yang mencapai permukaan tujuan untuk
solusi analitis dan tekstur berbasis pendekatan. Definisi formal adalah sebagai berikut:
Fij = (cos  saya cos  j) / (pi * r2) * Hij DAJ
Dalam persamaan ini, cosinus merupakan selisih sudut antara kedua patch. Untuk menghitung mereka, kita
hanya perlu:
l Hitunglah vektor V yang merupakan arah dari pusat dari patch transmisi ke
pusat dari patch penerima.
l kosinus pertama adalah hasil dari perkalian titik dari vektor V dengan normal transmisi
patch.
l kosinus kedua adalah hasil dari perkalian titik dari vektor V dengan normal dari menerima
patch.
l Karena hasil dari perkalian titik adalah kosinus (asumsi vektor normal), kita memilih ini
kompak notasi.
Lalu, kita membagi hasilnya dengan Pi * r2 untuk memperhitungkan jarak antara patch. Lebih jauh patch harus memiliki
faktor bentuk yang lebih kecil karena kemungkinan cahaya dari satu mencapai yang lain berkurang. Faktor Pi adalah
diperlukan untuk menjelaskan sifat hemispherical dari energi yang dipancarkan. Tunas Patch transmisi keluar
energi dalam distribusi hemispherical, tidak dalam satu arah, dan faktor Pi yang menggabungkan ke dalam
membentuk faktor.
Fungsi H merupakan visibilitas dari patch untuk menambal i j. Bagaimana kita menangani occluders? Kita membutuhkan
membentuk faktor untuk memasukkan setiap oklusi potensial, sehingga dua patch dengan faktor bentuk yang besar dengan dinding
antara tidak memancarkan energi satu sama lain. H adalah sekedar faktor visibilitas yang skala hasil dari 0 ke 1
tergantung pada berapa banyak patch yang terlihat dari yang lain. H nama berasal dari visibilitas
algoritma yang digunakan oleh prosesor radiositas banyak, yang merupakan algoritma hemicube. Tempatkan hak hemicube
patch di atas pertimbangan dan discretize itu. Kemudian, menganalisis visibilitas secara sel demi sel dan
menyimpan sebagian kecil dari sel-sel terlihat pada parameter H. Pendekatan populer lainnya melibatkan sinar menembak menggunakan
sinar nonrecursive menelusuri pendekatan dan menyimpan sebagian kecil dari sinar yang benar-benar memukul patch berlawanan.
Parameter DAJ digunakan untuk menyatakan faktor bentuk dalam hal daerah diferensial. Faktor bentuk adalah
didefinisikan per elemen daerah sangat kecil dari patch menerima, sehingga harus kita ingin menghitung itu untuk seluruh
jalan, kita perlu kalikan dengan daerah patch itu.
Dengan ini penjelasan tentang bagaimana radiositas bekerja, mari kita periksa bagaimana kita dapat membangun peta cahaya berdasarkan radiositas.
Pada dasarnya, kita perlu representasi halus dari geometri tingkat, dimana setiap cahaya peta Texel
merupakan salah satu titik sampling dalam prosesor radiositas kami. Kami akan mulai dengan geometri tingkat, pengaturan
tingkat detail kita ingin bekerja dengan. Apakah salah satu Texel dalam peta cahaya merupakan salah satu sentimeter atau satu
meter? Dari analisis pertama, peta cahaya dengan ukuran yang tepat harus dialokasikan. Kemudian, setiap Texel di setiap
peta cahaya dapat digunakan untuk memicu loop pengolahan radiositas. Sebelum itu, kita perlu mengatur patch yang akan
menjadi radiasi, sehingga adegan kami memiliki beberapa informasi pencahayaan. Hal ini biasanya tertanam dalam pembuatan konten
alat. Kemudian, kita harus melakukan algoritma radiositas. Perbaikan progresif di sini adalah pilihan terbaik
karena matriks radiositas untuk setiap tingkat yang layak ukuran dapat menjadi tidak terkendali. Bayangkan bahwa Anda permainan
tingkat terdiri dari 10.000 segitiga (tidak jarang untuk Quake gaya penembak), namun karena peta cahaya
resolusi, yang diubah menjadi 2.560.000 patch (rata-rata, setiap peta cahaya yang texels 16x16 di
ukuran). Karena matriks radiositas adalah nxn, bersiaplah untuk menangani matriks 2Mx2M!
Kemudian, algoritma perbaikan progresif akan bekerja pada satu set tekstur yang menyandi baik
penerangan (yang merupakan bagian dari solusi akhir) dan energi radiasi, yang adalah apa yang kita akan mencoba untuk
meminimalkan dengan iterasi proses. Visibilitas dapat dihitung dengan berbagai cara, beberapa dari mereka dibantu oleh
penggunaan grafik adegan sendiri mesin, entah itu sebuah Partisi Ruang Binary (BSP) atau semacam portal
mesin. Komputasi Hij adalah salah satu hambatan utama dalam setiap pengolah radiositas.
Menyimpan Peta Cahaya
Menggunakan hanya satu peta cahaya mungkin baik untuk demo kecil, tapi begitu Anda ingin menerangi lengkap
tingkat permainan kebutuhan untuk menyimpan sejumlah besar peta cahaya muncul. Setelah semua, setiap dinding dan detail memiliki unik
sifat pencahayaan, sehingga jumlah peta cahaya harus berkorelasi dengan jumlah geometri dalam permainan
tingkat.
Tapi ini mungkin menjadi masalah besar sebagai persyaratan tekstur tumbuh: Berapa banyak peta cahaya yang akan kita
menyimpan? Apa ukuran masing-masing akan menjadi? Ini dan pertanyaan lain memiliki programer bermasalah mesin grafis
selama bertahun-tahun, dan untungnya beberapa solusi pintar telah ditemukan.
Untuk mulai dengan, peta cahaya biasanya tekstur resolusi sangat rendah, sering hanya beberapa piksel di seluruh. Ukuran
16x16, misalnya, tidak biasa. Alasan untuk resolusi ini berasal dari penyaringan tekstur: The
kartu grafis akan interpolasi antara texels berbeda, jadi peta lampu kecil dapat meregang selama
patch yang relatif besar. Bayangan tajam dan perubahan mendadak penerangan hanya akan mungkin jika lebih besar
peta cahaya yang digunakan. Namun untuk radiositas seperti kamar klasik dengan kontribusi pencahayaan diffuse besar, lowres
Peta harus sempurna.
Keputusan lain yang menarik adalah untuk pak peta cahaya beberapa tekstur, komposit global yang unik yang
merangkum mereka. Pikirkan tentang hal ini untuk kedua: Jika setiap peta cahaya membentang di satu atau dua segitiga saja,
kita akan berakhir dengan ratusan tekstur kecil, dan kita perlu menukar tekstur aktif sepanjang waktu.
Ingat bahwa swap tekstur yang mahal. Jadi, adalah sangat umum untuk menyimpan peta cahaya banyak di peta besar,
sehingga kami dapat membuat mereka semua dengan satu panggilan. Namun, ide ini jika tidak besar memiliki potensi downside:
menemukan algoritma yang secara otomatis dapat pak peta cahaya secara optimal. Tidak terdengar seperti masalah besar,
benar? Sayangnya, kejahatan mengintai dari sudut-sudut tak terduga, dan pengepakan peta cahaya pada tekstur yang lebih besar mungkin
jauh lebih sulit dari yang Anda bayangkan. Bahkan, ini merupakan contoh dari masalah komputasi klasik yang disebut "set
kemasan ": menempatkan objek N, masing-masing dengan bentuk yang berbeda, di dalam sebuah wadah untuk menemukan distribusi yang
memungkinkan alokasi ruang yang lebih baik. Masalah ini sangat terkenal, dan studi menunjukkan bahwa adalah sebuah NPHard
masalah.
NP-Hard masalah (seperti set kemasan dari pedagang keliling) adalah masalah begitu kompleks, tidak ada algoritma
dirancang untuk bekerja dalam waktu polinomial dapat menyelesaikannya. Dengan demikian, kita harus kembali ke pendekatan eksponensial,
yang merupakan "elegan" cara untuk menunjuk brute force pendekatan. Dalam contoh peta terang kita, kita perlu
untuk menguji semua konfigurasi yang mungkin untuk menemukan satu yang optimal. Dan, dengan ratusan bahkan ribuan
peta cahaya, algoritma eksponensial dapat berlangsung cukup lama untuk menghitung. Jadi beberapa algoritma heuristik telah dirancang. Algoritma ini jauh dari optimal, sehingga solusi
tidak akan sempurna. Tapi mereka berjalan di saat yang wajar. Sekarang saya akan menjelaskan salah satu algoritma yang
menggabungkan kecepatan dengan hasil yang cukup baik.
Idenya cukup sederhana: Mengalokasikan peta cahaya satu per satu, membangun sebuah pohon biner sepanjang jalan. Kami akan menggunakan
pohon untuk menentukan zona yang diduduki dan gratis sampai semua peta cahaya telah dimasukkan. Kemudian, untuk setiap cahaya
peta, kita menggunakan wilayah pohon di mana dapat dipasang lebih baik. Setiap kali kita menempatkan peta cahaya baru, kami
membagi node baru sehingga pohon mengembang dan melacak semua peta cahaya

CAHAYA PEMETAAN


Kita telah melihat bagaimana per-titik hasil pencahayaan dapat bervariasi dalam kualitas tergantung pada resolusi mesh,
vektor normal penempatan, dan sebagainya. Sebuah fine mesh dengan smoothing yang baik dapat terlihat bagus hanya dengan perangkat keras,
per titik lampu. Tapi jerat kasar dengan segitiga besar (dinding, misalnya) tidak cocok untuk
teknik. Simpul bersebelahan terlalu berjauhan, sehingga perangkat keras mengambil sampel terlalu sedikit untuk menyampaikan
realistis rasa pencahayaan. Untuk memperburuk keadaan, artefak interpolasi sering terjadi, terutama dengan
bergerak lampu, benar-benar melanggar rasa selam.
Pemetaan cahaya adalah nama global yang digunakan untuk menggambarkan teknik yang berbeda yang mencoba untuk mensimulasikan pixel-benar
iluminasi nilai dengan menggunakan tekstur untuk mengkodekan sifat pencahayaan (tidak hanya bahan). tekstur digunakan
untuk menyimpan data pencahayaan disebut peta ringan dan dapat mengkodekan kedua karakteristik menyebar dan specular untuk setiap
cahaya, apapun bentuk, warna, dan orientasi. Pemetaan cahaya menjadi populer melalui penggunaannya dalam
Doom / Quake kisah-kisah, dan sejak itu telah menjadi benar-benar mendasar untuk banyak permainan. Ini menyediakan
relatif mudah dan efektif cara untuk menciptakan skenario realistis menyala (lihat Gambar 17.4).Gambar 17.4. Kiri: tekstur dasar. Tengah: aditif (specular) peta cahaya. kanan:
terjadi.
Untuk memahami pemetaan cahaya, Anda harus terlebih dahulu menyadari sepenuhnya aritmatika tekstur dan warna dan pencampuran, sehingga
pastikan Anda meninjau konsep-konsep sebelum pindah. Kami fundamental akan menggunakan aritmatika tekstur untuk
menerapkan persamaan pencahayaan, sehingga tekstur ini dicampur bersama untuk menghasilkan akhir
terjadi.


Kamis, 12 April 2012

GAMES ZOMBIE VS PLANTS

 


Games Plants VS Zombies, game yang sangat menghibur dan sangat populer. Yang belum pernah main game ini, Plants VS Zombies bercerita tentang kawanan Zombie yang haus akan otak manusia datang menyerang rumah anda, dikisahkan dalam Plants VS Zombies cara anda keluar dari masalah zombie adalah dengan menyerang menggunakan Plants (atau tanaman). Anda akan menemukan berbagai macam jenis Zombie yang pintar yang menyerang dari darat, air dan udara baik siang atau pun malam dengan segala perlengkapannya untuk menembus pertahanan anda. Tetapi tenang anda juga akan dibekali bibit tanaman / plants yang berguna untuk menghalau serangan para zombie. Tugas anda mengatur strategi bertahan dan memukul mundur para zombie agar tidak mencapai rumah anda sehingga otak anda tidak akan di makan oleh para zombie yang kelaparan. Selain permainan utama disini juga banyak permainan kecil yang menyenangkan seperti : Anda bisa merawat dan mengoleksi tanaman -  tanaman yang ada, Bermain Bowling dengan Target para Zombie dan masih banyak lagi

cara bermain games

Pertama-tama buka permainan seperti biasa, pilih tanaman seperti biasa, secara default, sunpoint berada di point 50, seperti gambar di bawah ini
   
Di Plants vs. Zombies, pemain akan memilih tanaman dan jamur) dan menaruhnya di sekitar rumah (area berbeda setiap level) untuk menghadapi dan mempertahankan pemilik rumah (pemain) dari serangan zombie. Banyak tanaman hanya bisa menyerang di baris tempat dia berada, namun ada beberapa yang dapat menyerang hingga 3 baris sekaligus (contohnya Threepeater). Zombie selalu masuk ke area permainan dan berjalan di salah satu baris (kecuali jika menggigit garlic mereka akan berpindah baris). Dalam permainan, terdapat pemotong rumput dan pool cleaner (pada level "Backyard") di ujung kiri halaman yang dapat menghancurkan semua zombie di baris itu jika terkena salah satu zombie, tapi alat itu tidak bisa dipakai ulang sampai level berikutnya. Kebanyakan zombie akan memakan tanaman yang dihadapinya (walaupun ada juga jenis zombie yang melompati, menghancurkan, dan terbang diatas tanaman).
Pemain memulai dengan memilih dan menanam tanaman yang telah dipilih sebelumnya dan melihat zombie apa saja yang ada. Tanaman baru bisa didapat di akhir level. Untuk menanam tanaman, pemain harus mengumpulkan poin-poin matahari yang berasal dari tanaman Sunflower ataupun dari langit. Setiap tanaman diberi "harga". Kebanyakan tanaman bisa dimakan dengan mudah oleh zombie. Jamur perlu dibangunkan dengan Coffee Bean jika dipakai di level siang. Tanaman perlu ditanam di lily pad (kecuali tanaman air) jika ingin ditanam di air dan perlu ditanam di flower pot untuk ditanam di atap. Ada banyak jenis tanaman dengan kemampuan masing-masing, ada tanaman yang bisa menembakkan projectiles mereka ke zombie, menghasilkan matahari atau langsung membunuh zombie dengan cara membakarnya, menindihnya, maupun memakannya.
Zombie juga bermacam-macam jenisnya, ada yang kuat, cepat, bisa langsung menghancurkan tanaman zombie yang terbang, bahkan ada zombie menari yang seperti Michael jackson (diganti dengan zombie disco di versi "Game of the Year") yang bisa mengeluarkan zombie lain dari bawah tanah. Ada level progress di bagian bawah layar. Setiap huge wave, banyak zombie muncul bersamaan dan ketika final wave, ada zombie yang muncul dari dalam kolam, kuburan atau ditaruh oleh bungee zombie.