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 ที่บอกว่าเราเข้างานส่วนไหนได้บ้าง ที่เป็นป้ายมีสายห้อยสีเขียวๆนั่นอ่ะครับ ผมก็ไปฉกมามั่ง…

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

Part 3. วันที่ 4 สิงหาคม 2555 : วันแรกของงาน Web3D Conference 2012 เริ่มก่อนหน้า SIGGRAPH ไป 1 วัน (Link สำหรับ Part 1 และ Part 2) วันนี้ก็เดินออกมาจากโรงแรมตามแผนที่วางไว้เมื่อวันก่อนที่มาเดินสำรวจไว้แล้ว มาได้ตรงเวลาแบบเป๊ะๆเลยเพราะว่าตื่นสาย ใจจริงอยากจะเผื่อเวลาไว้แต่ว่าตื่นสายจริงๆ ฮ่ะๆๆ ๆ วันนี้คนยังไม่มากเท่าไหร่ เพราะมีงาน Web3D Conference งานเดียว แต่สำหรับคนที่ส่งโปสเตอร์สำหรับงาน SIGGRAPH 2012 เขาก็มาติดโปสเตอร์กันวันนี้แหละครับ บางคนติดก่อนหน้านั้นไปแล้วก็มี หลังจากผมเดินหลงอยู่ใน LA Convention Center ได้สักพัก เห็นคนทำหน้าหลงๆเหมือนกันก็ถามๆกันจนมาเจอ Hall นี้ ถึงกับโล่งใจว่าเจอสักที แล้วก็ขึ้นบันไดเลื่อนมาที่ห้องสำหรับงานเปิด Web3D Conference 2012 ด้วยใจร้อนรนว่าเรามาถึงเลทไปห้านาทีแล้ว แฮ่ๆ หลังจากลงทะเบียนแล้ว ก็ได้ป้ายชื่อกับกระเป๋ามาครับ…

[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…

How to get and set walk speed value in VRML

How to get and set walk speed value in VRML (VRML version 2.0). First, you have to create an object for call the javascript function. such as TouchSensor node. Then, create ROUTE for call the function. So if you clicked the box that DEF is setWalkSpeed_UP_TOUCH then it’ll call the script at DEF is setWalkSpeed_UP_SCRIPT….

BS Contact 3D engine from Bitmanagement now cross-platform [TH/EN/DE]

Interactive 3D content now online on Windows, Mac, Linux and Apple iOS / BS Contact supports all major browsers (IE, Firefox, Safari, Google Chrome and Opera) on Windows and Safari on Mac ============================================================== =TH=========================================================== ============================================================== สรุปสั้นๆได้ว่า ขณะนี้ BS Contact ของ Bitmanagement Software GmbH ได้พัฒนาไปในรูปแบบ Cross-Platform และ Cross-Browser ซึ่งบน Windows สามารถใช้งานได้กับบราวเซอร์หลักทั้งหมด ได้แก่ Internet Explorer, Firefox, Google…

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…