Voice in the Gentle Wind

ธันวาคม 12, 2007

ซันเปิดตัว Project SceneGraph

Filed under: javaFX, ria — deans4j @ 7:17 am

ซันประกาศโอเพนซอร์สโครงการ SceneGraph โดยมันจะถูกนำมาใช้เป็นเอนจิ้นการทำ scene-graph ใน JavaFX Script

ความสามารถการทำ scene-graph เป็นคุณสมบัติที่สำคัญในงานแสดงผลกราฟิก เรามักจะพบเห็นการประยุกต์ใช้ scene-graph ในเกมยุคใหม่หรือการทำงานร่วมกับรูปภาพเวกเตอร์อยู่ทั่วไป อธิบายพอสังเขป scene-graph เป็น data structure แบบหนึ่ง มักนำเสนอในรูปแบบต้นไม้ (Tree) จะมีโหนดต่างๆ ซ้อนอยู่ภายใน การกระทำที่เกิดขึ้นกับโหนดกราฟิกรูปภาพใดๆ จะส่งผลกระทบต่อโหนดลูกของมันเสมอ ยกตัวอย่างในทางปฏิบัติ การโปรแกรม Swing ถือว่าใช้เทคนิก scene graph แบบง่ายๆ ภายใน container จะมี component ลูกซ้อนอยู่ เมื่อกระทำอะไรกับ container (ขยาย, หด, เปิดปิดการแสดงผล) จะส่งผลกระทบต่อไปยัง component ที่เป็นโหนดลูกของตัวเองเสมอ (ขยาย ยืดหด แสดงผลตาม)

ประโยชน์ของการทำงานในมุมมอง scene-graph จะช่วยให้เราโปรแกรมในมุมมองระดับที่สูงกว่า (เช่น การเล่นกับเอฟเฟกต์ โดยบอกให้โหนดนั้นหมุนเอียง 45 องศา ภายใน 2 วินาที โดยมีความเร่งเท่ากับ 2 หน่วย แทนการกำกับการวาดภาพใหม่ทั้งหมดทีละขั้นตอน) การนำเทคนิก scene-graph มาใช้ไม่ใช่เรื่องใหม่แต่อย่างใด ใน Swing มีโปรเจกต์ Timing Framework ที่ถูกออกแบบมาให้ช่วยแก้ปัญหานี้กับ Swing component โดยเฉพาะ ส่วนโปรเจกต์ SceneGraph จะใช้หลักการเดียวกันแต่ (ปัจจุบัน) สามารถประยุกต์ใช้กับกราฟิก 2D รูปภาพ หรือข้อความอื่นๆ ได้ด้วย โดยไม่ต้องฝังเทคนิก scene-graph ลงในสถาปัตยกรรม (physically) เหมือน Swing แต่ใช้ในรูปแบบมุมมองการคิดตามตรรกะ (logically) เพื่อความยืดหยุ่นในการปรับมุมมองและการประยุกต์ใช้เทคนิกขั้นสูงอื่นๆ กับโหนดต่างๆ ได้ง่ายกว่า

ก่อนหน้านี้ JavaFX Script ภายในใช้ Jazz เป็น scene-graph เอนจิ้น แต่เนื่องจาก Jazz หยุดการพัฒนาไปแล้ว และทีมงานต้องการใช้ประโยชน์เต็มที่จากอุปกรณ์กราฟิกฮาร์ดแวร์ และคุณสมบัติพิเศษที่มีใน 3D เอนจิ้นที่อยู่เบื้องล่าง (Direct3D, OpenGL) เลยเป็นที่มาของการสร้าง SceneGraph ขึ้นมาเอง

ความเร็วของ JavaFX Script กำลังถูกพัฒนาขึ้นเรื่อยๆ โปรเจกต์ JavaFX Script Compiler ขณะนี้ก็ผ่านก้าวแรกที่สำคัญไปแล้ว อันจะทำให้ JavaFX Script สามารถใช้ประโยชน์จาก Hotspot ใน JVM ได้อย่างเต็มที่ แทนการ interpret แบบเดิมๆ ส่วนเรื่องเครื่องมือการสร้างผลผลิตจาก JavaFX Script นั้น ที่ได้ข่าวมาตอนนี้กำลังซุ่มทำอยู่ คาดว่างาน JavaOne ปีหน้าคงได้เห็นกัน

ที่มา – Project SceneGraph

[update – จากที่พิจารณาอีกทีแล้วพบว่า Timing Framework แม้มันจะช่วยให้การสร้างเอฟเฟกต์ต่างๆ ง่ายขึ้นเยอะ (กำกับแต่เฉพาะว่าต้องการให้วาดอะไร ไม่ต้องบอกวิธีวาดอย่างไร) แต่ก็ยังไม่ได้โปรแกรมในมุมมองที่เป็น scene ยังคงวาดไปตรงๆ ซ้ำๆ ทุกครั้งที่ต้องการ ซึ่งถ้าเป็น scene-graph จริงๆ แล้วแต่ละ scene จะต้องถูกบันทึกไว้เป็นช็อตๆ แล้วเราโปรแกรมกับแต่ละ scene ได้ เท่าที่ไล่ดู API และตัวอย่างการใช้ SceneGraph แล้วพบว่ามันครอบ Timing Framework ไว้อีกชั้นนี่เอง เจ๋งมากๆ!!! ]

Advertisements

ธันวาคม 11, 2007

รวมของออกใหม่และเก็บตกของเก่า : NetBeans 6, Groovy 1.5, Spring 2.5, Volta

Filed under: java — deans4j @ 1:25 am

ผมขอเขียนแบบสั้นๆ นะครับ จริงๆ ข่าวยิบย่อยเยอะมาก แต่ขออภัยด้วยละกันครับไม่สะดวกจริงๆ

  • NetBeans 6.0 ตัวเต็มออกแล้วนะครับ ความสามารถนำเสนอไปหลายทีแล้ว ตัวนี้ตั้งใจจะรีวิวยาวๆ ให้ดู (เขียนไม่ยอมเสร็จสักที) เพราะมีฟีเจอรเด็ดๆ ที่คนยังไม่รู้ไม่เป็นที่พูดถึงกันอยู่หลายจุดทีเดียว การออกครั้งนี้แถม NetBeans Magazine เล่มใหม่ด้วยแหะ
  • Groovy 1.5 ตัวเต็มมาแล้ว จริงๆ แล้วมันคือ Groovy 1.1-rc เดิมๆ นี่แหละครับ แต่เปลี่ยนเลขให้สอดคล้องกับความสามารถใหม่ๆ ที่เพิ่มขึ้นมากมาย ตัวนี้ก็ตั้งใจว่าจะเขียนรีวิวเหมือนกัน เห็นแล้วชอบใจหลายๆ ฟีเจอร์ที่เพิ่มเข้ามาเป็นส่วนผสมระหว่าง Java กับ Ruby ที่เท่ดีครับ
  • Spring 2.5 มาแนวเดียวกันครับ ออกมาสักพักแล้วแต่ไม่ว่างเขียนเหมือนกัน เดิมคือ Spring 2.1 แต่ด้วยฟีเจอร์ที่เพิ่มขึ้นเยอะเกินกว่าจะเรียก 2.1 เลยเปลี่ยนเลขเป็น 2.5 ให้ดูสอดคล้อง ฟีเจอร์ที่เพิ่มเข้ามาหลายส่วนทีเดียว ที่เด่นๆ จะเป็นเรื่องของการใช้ annotation แทน XML เหมือน Google Guice
  • Volta นิยามของมันจะเรียกว่า GWT Clone จากฝั่ง Microsoft ก็ไม่น่าจะผิดมากนัก โดยมีฟีเจอร์เด่นๆ บางอย่างเพิ่มเข้ามา เช่นการโค้ดด้วยภาษา CLR อื่นๆ ได้ด้วย โปรเจกต์ยังไม่ค่อยสมบูรณ์ดีแต่เปิดตัวนักพัฒนาพรีวิวลองแล้ว ลองอ่านข่าว ZDNet ที่ไปสัมภาษณ์สถาปนิกซอฟต์แวร์ของ Microsoft เปรียบเทียบ GWT กับ Volta
  • พูดถึง GWT ผมคิดว่า GWT รุ่นหน้า (1.5 ) น่าจะเป็นรุ่นที่มีนัยสำคัญพอจะฉุดกระแสให้คนหันมาใช้ GWT อย่างจริงจัง

ธันวาคม 7, 2007

Here Comes Another Bubble

Filed under: NoneSense, simple thoughts — deans4j @ 2:38 pm

ช่วงนี้ข่าวเยอะนะครับ แต่ผมไม่ว่างเอง ไว้ปีใหม่รอการเปลี่ยนแปลงครั้งยิ่งใหญ่ทีเดียวละกัน ตอนนี้เอา MV ไปดูพลางก่อน : )

สร้างเว็บไซต์หรือบล็อกฟรีที่ WordPress.com.