หลังจากที่ไม่ค่อยได้ติดตามอะไรอย่างจริงจังมาสักพักใหญ่ ช่วงหลังนี้รู้สึกว่าโลกแห่งเทคโนโลยีมันหมุนไปเร็วมาก เร็วจนรู้สึกว่าเราชักเริ่มจะเอ๊าท์เกินไปละ
เลยอยากจะเคาะสนิมตัวเองเสียหน่อย ช่วงนี้หันมาศึกษาการพัฒนาโปรแกรมบนมือถือระบบ Android และอยากจะเน้นไปทางด้านการเขียนโปรแกรมประเภท interactive graphic และ animation เพราะสายนี้อาศัยเทคนิคต่าง ๆ เยอะดี และดูตื่นตาตื่นใจดีด้วยเหมาะกับการเคาะสนิมเป็นอย่างยิ่ง
รู้สึกทึ่งนิด ๆ กับศักยภาพของ Hardware ของอุปกรณ์พกพาขนาดเล็กแบบนี้

โปรเจคของวันแรกนี้จะเป็นการจำลอง Starfield แบบง่าย ๆ ขึ้นมาดูครับ

สิ่งที่ทำไปในวันแรกนี้ก็จะเป็นการเรียนรู้ระบบ Opengl ES กับการเขียนภาษา Java และ Environment ของการพัฒนา Software บนระบบ Android
ทำไปก็ทึ่งไปกับความเร็วของ GPU และ CPU บนมือถือสมัยนี้
หลังจากลองทำดูเล่น ๆ ก็รู้สึกว่าจินตนาการโลดแล่นสมองโปร่งดีครับ เหมาะกับการแก้เบื่อเป็นอย่างยิ่ง 🙂

ใน Opengl Es ไม่มี Display list แล้ว ปัจจุบันหันมาใช้ Vertex buffer object กันแทน (แต่ผมชอบ Display List มากกว่า 😦 )
การใช้ point sprite ก็ยุ่งยาก เลยใช้ vertex สำหรับ เรนเดอร์ starfield แทนครับ

//การใช้ VBO
	private float vertices[] = {
						-1.0f, -1.0f, 1.0f, //v0
						1.0f, -1.0f, 1.0f, 	//v1
						-1.0f, 1.0f, 1.0f, 	//v2
						1.0f, 1.0f, 1.0f, 	//v3

											};
	private float normals[] = {
			// Normals
			0.0f, 0.0f, 1.0f,
			0.0f, 0.0f, -1.0f,
			0.0f, 1.0f, 0.0f,
			0.0f, -1.0f, 0.0f, 

								};
	private float texture[] = {
			0.0f, 0.0f,
			0.0f, 1.0f,
			1.0f, 0.0f,
			1.0f, 1.0f,

						};
	private byte indices[] = {
						// Faces definition
						0, 1, 3, 0, 3, 2, 		

												};

download link (53KB)
http://uploadmirrors.com/download/1KBRTX1I/Shooting_256_r.apk

Advertisements