[Achievement] WebGL Game Development Book

Achievement: 25 April 2014 WebGL Game Development Book, for which I was one of the technical reviewers, is published by Packt Publishing. Preview: Google Books Website: Packt Publishing Purchase: Amazon

Web3D & SIGGRAPH Conferences 2012, Los Angeles, CA, USA. Diary : Day 2

LOG PART 1 : แว๊น | PART 2 : สำรวจโลก | PART 3 : งานวันแรก PART 4 | วันที่ 5 สิงหาคม 2555 : วันที่ 2 และเป็นวันสุดท้ายของงาน Web3D Conference 2012 และเป็นวันแรกของงาน SIGGRAPH 2012 หลังจากวันแรกของงานผ่านไปได้ด้วยดี วันนี้กิจกรรมก็เหมือนวันแรกครับ นำเสนอเปเปอร์และ Tutorial, Workshop ปกติ แต่ที่ต่างไปมากคือจำนวนคนครับ มีมากเยอะมากๆ ก็เนื่องจากงาน SIGGRAPH นี่แหละครับ จากภาพนี่เป็นช่วงเช้าก่อนงานเริ่มครับ เห็นเขานั่งเรียงๆกันผมก็เลยไปสมทบกับเขาด้วย ฮ่ะ ๆ ๆ สำหรับผู้ที่มางานนี้ ต้องไปลงทะเบียนก่อนครับ เพื่อรับป้ายชื่อและจะมี Code ที่บอกว่าเราเข้างานส่วนไหนได้บ้าง ที่เป็นป้ายมีสายห้อยสีเขียวๆนั่นอ่ะครับ ผมก็ไปฉกมามั่ง…

[How to] Level Of Detail (LOD) – X3D(OM) Language [Tutorial in Thai language]

Level Of Detail (LOD) นั้นเป็น Grouping node ตัวหนึ่งในภาษา X3D (หรือเอามาใช้กับ X3DOM ก็ได้ซึ่งใช้ภาษาในการเขียนเป็น X3D เหมือนกัน) โดย node นี้จะถูกใช้เพื่อการเพิ่มประสิทธิภาพในการเรนเดอร์วัตถุใน Scene เนื่องจากใน Scene ของเรานั้นจะมี Viewpoint อยู่อย่างน้อย node ซึ่งจะเป็นจุดกล้องของเรานั่นเอง ซึ่งมีความห่างในแกน x, y, z กับวัตถุ ซึ่งระยะห่างนี้เราสามารถกำหนดความละเอียดให้กับวัตถุที่เรามองเห็นได้ ลองนึกภาพว่าคุณมองวัตถุที่เห็นไกลๆแล้วคุณเห็นมันไม่ชัด คุณเดินเข้าไปใกล้ขึ้นเรื่อยๆ วัตถุนั้นก็จะชัดขึ้นเรื่อยๆตามลำดับ หากใครที่เคยเล่นเกมแนว 3D มาคงจะพอนึกภาพออกว่าเป็นยังไง และความละเอียดนั่นเองที่เราจะถูกถึงการเพิ่มประสิทธิภาพของการเรนเดอร์ทั้ง Scene นั้นโดยรวม โดยเฉพาะอย่างยิ่งกับ Scene ที่มีวัตถุหลายๆวัตถุ เราก็ควรจะให้ความสำคัญกับวัตถุที่เราอยู่ใกล้ที่สุด คือ ให้เรามองเห็นสิ่งนั้นชัดที่สุด ละเอียดที่สุด นั่นหมายความว่า ยิ่งความละเอียดเยอะ ยิ่งมี Polygon มาก มีจุดมากนั่นเอง ซึ่งจำนวนจุด (Point)…

เริ่มต้นกับ X3DOM | Getting Started with X3DOM

“Post นี้เหมาะสำหรับผู้ที่ต้องการเริ่มศึกษา/เล่นกับ X3DOM แต่ไม่รู้จะเริ่มยังไงครับ และถ้ามีพื้นฐานภาษา X3D แล้วจะติดปีกบินได้เลย ;D” พื้นฐานและสิ่งที่คุณควรจะมี 1. Web Browser ที่รองรับ WebGL, HTML5 (Canvas) เช่น Google Chrome, Mozilla Firefox (แนะนำให้อัพเดทเป็นเวอร์ชั่นล่าสุดครับ ใครไม่เคยอัพเลยก็อัพซะนะครับ) **ล่าสุด Opera Next Version 12 ก็รองรับ WebGL แล้วนะท่าน** 2. พื้นฐานด้าน 3D เล็กๆน้อยๆพอเขี่ยๆสะกิดได้ 3. ความรู้ในภาษา JavaScript สำหรับพอเล่นกับ X3DOM Runtime API ได้ (สำหรับในเชิงลึกหลังจากนี้) 4. ความรู้ในภาษา XML เพื่อให้เข้าใจภาษา X3D ได้ง่ายยิ่งขึ้น ปัญหา 1. สำหรับคนที่มีไฟล์ VRML (.wrl)…

Get navigation type and set point rendering by using X3DOM Runtime API

First you have to call this method: ready() It is therefore possible to execute custom action by overriding this method in your code: That’s your X3DOM scene ID is “x3dom-scene” and your default viewpoint is “showAll” This method is used to show your current navigation type and your current viewpoint in your X3DOM scene and…

Library week 2011 – My Interview

พอดีมีคนมาขอสัมภาษณ์ไปติดบอร์ดงานสัปดาห์ห้องสมุดที่ มทส. ครับ ซึ่งน่าจะเป็นที่บรรณสาร เลยขอเอาบทสัมภาษณ์ของตัวเองมาแปะที่บล๊อคตัวเองด้วย เนื้อหามันอาจจะไม่เหมือนกับที่อยู่บนบอร์ดจริงนะครับ ซึ่งเห็นเขาบอกว่าติดต้นเดือนกรกฏาคม แต่ผมเอามาแปะที่บล๊อคตัวเองก่อนแล้ว อุอุ ซึ่งในนี้เนื้อหาก็อาจจะมีมากกว่าบอร์ดจริงนิดหน่อยนะครับ (หรืออาจจะมากกว่ามากเลย) เพราะผมก็ไม่รู้ว่าเขาจะปรับคำหรือตัดส่วนไหนไปบ้าง เพราะผมแพล่มไปซะเยอะเลย ใครใคร่อ่านก็ยินดีครับ ประวัติชีวิตบ้าบอของผม ฮ่าๆ ผมเป็นคนที่จดไดอารีครับ แต่ละวันๆทำอะไร แต่ก็ไม่ทุกวันหรอกครับ เฉพาะวันพิเศษหรือวันบางวันที่มีอะไรพิเศษสำคัญๆ ความตั้งใจจริงๆก็คือจดทุกวันแหละครับ แต่เผอิญผมขี้เกียจ ฮ่าๆๆ อัญเชิญอ่านครับ 1. พี่มีวิธีเตรียมตัวสอบ อ่านหนังสือแบ่งเวลาอย่างไรก่อนสอบครับ? วิธีที่ลองเล่นมาหลายวิธีครับ เล่าไปตามประสบการณ์อันน้อยนิดนะครับ จะเล่าตามวิธีและผลของแต่ละวิธีที่ได้ลองมานะครับ การตัดสินใจหรือการประยุกต์ใช้ขึ้นกับตัวผู้เรียนเองนะ ไม่รับรองว่าจะเป็นตามนี้ เอิ๊กๆ (ที่ยกตัวอย่างว่าผลจะเป็น GPA เพราะเคยฟังอาจารย์ท่านหนึ่งแนะนำเรื่องการเรียนและยกตัวอย่างผลการเรียนมาให้ด้วยว่าได้เท่าไหร่ ซึ่งผมเลยขอเดินตามรอยสักนิด) – อ่านทบทวนทุกวัน ตามการเรียนแบบระบบหน่วยกิต เช่น 3-0-6 คือ เรียน 3 ชั่วโมงต่อสัปดาห์ 0 คือ ชั่วโมงปฏิบัติการ และ 6 คือชั่วโมงทบทวนต่อสัปดาห์ เราก็แบ่ง 6 เป็น…

Test script for check browser supports WebGL ?

Function browserSupportWebGL() function browserSupportsWebGL() { var canvas = document.getElementById(‘gltest’); var context = null;var names = [“webgl”, “experimental-webgl”, “webkit-3d”, “moz-webgl”]; for (var i = 0; i < names.length; ++i) { try { context = canvas.getContext(names[i]); } catch(e) {} if (context) { break; } } return context != null; }; Function Show() function show() { alert (‘WebGL…

X3DOM/XML/JavaScript Example (Seat visualization)

X3DOM/XML/JavaScript Example (Seat visualization) Case: The Question of Love 2011 Theater (@B4101 – Wittayapat Room) Suranaree University of Technology เกริ่น ความคิดที่เริ่มเอา X3DOM มาเชื่อมกับ XML มันเกิดจาก Topic หนึ่งใน Stackoverflow ในเรื่องการเปรียบเทียบความสามารถในด้านต่างๆของ Flash, HTML, Silverlight, X3D และ Unity 3D ในหัวข้อที่ชื่อว่า Comparing Flash, HTML, Silverlight, X3D and Unity 3d แล้วผมไปเห็นการเปรียบเทียบดังรูปข้างล่างนี้ ซึ่งมันทำให้เปิดประเด็นเรื่อง X3D – XML ในใจขึ้นทันที ซึ่งผมอยากจะทำให้เห็นว่ามันทำได้ และไม่ยากเลย เลยจัดการเอา X3DOM…

Khronos Releases Final WebGL 1.0 Specification. Exactly, IE != Supported (Thai Language)

WebGL เป็นเทคโนโลยีแสดงผลในรูปแบบ 3 มิติ บนเว็บเบราว์เซอร์ผ่าน JavaScript โดยพื้นฐานมาจาก OpenGL ES ซึ่งทั้ง WebGL และ OpenGL ES ก็พัฒนามาจากองค์กร Khronos ซึ่งวันที่ 3 มีนาคม 2554 ที่ผ่านมาสเปกของ WebGL 1.0 ได้เสร็จสมบูรณ์แล้ว ซึ่งก่อนหน้านั้นก็ได้เริ่มเป็นที่รู้จักกันอย่างแพร่หลายในกลุ่มนักพัฒนา Web3D อย่างมากในปีที่แล้ว ซึ่งก็มี Websites สำหรับการเรียนรู้ WebGL เกิดขึ้นมาไม่ว่าจะเป็นของ Mozilla เองที่สร้าง Demo ของ WebGL ขึ้น และเว็บ Learningwebgl ก็เป็นที่นิยมและเป็นที่รู้จักอย่างแพร่หลายด้วยเช่นกัน ซึ่ง ณ ขณะนี้ WebGL ได้รับการสนับสนุนจากหลายองค์กร ซึ่งก็คือผู้ผลิตเบราว์เซอร์รายใหญ่ 4 ราย ได้แก่ Firefox, Chrome, Safari และ Opera…