Tag Archives: Web3D

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

เสร็จจากการลงทะเบียน SIGGRAPH แล้วผมก็ขึ้นไปที่ห้องของงาน Web3D ครับ แล้วทีนี้เขาเลื่อนเวลานิดหน่อย เลยมีเวลาไปช๊อปหนังสือครับ ซึ่งก็อยู่ห้องข้างๆกันนี่เอง

มีหนังสือที่น่าสนใจหลายเล่มมากครับ แต่ก็ไม่ได้สอยมาซักเล่มเลย แฮ่ๆ

หลังจากนั้นก็กลับมาที่ห้องครับ มาฟังเรื่อง WebGL โดย Neil Trevett จาก Khronos Group ครับ ถึงแนวทางของ OpenGL ES, WebGL, WebCL และอื่นๆ ที่น่าสนใจมากคือเขาบอกว่า WebCL จะ release ตัวเต็มปีหน้าครับ ซึ่งมันเป็นอะไรที่เป็นอนาคตของ Web3D เลย เพราะปัจจุบันยังมีปัญหาเรื่อง Performance อยู่ครับ ต้องการ Performance Boost ซึ่งหาก WebCL มาจะลบจุดนี้ไปได้เลย มุมมองผมในปัจจุบันผมว่า WebGL ก็มีพลังมากพอในการทำอะไรหลายๆอย่างที่เป็น Commercial แล้วนะครับ และสำหรับงานวิจัยหลายๆงาน ก็นำมาใช้แล้ว งาน Simulation และ Visualization ทางวิศวกรรมและทางการแพทย์ก็เห็นมีการนำมาใช้แล้วในยุโรป ซึ่งผมเห็นว่าอนาคตสดใสดีครับ

ถัดจากนั้นก็มีคนจาก Google มาคุยเรื่อง WebGL, เอา WebGL Experiments หลายๆตัวมาโชว์ ซึ่งผมเคยเห็นหมดแล้ว ไม่ได้รู้สึกตื่นเต้นอะไร แต่ก็มีหลายๆคนสนใจครับ เพราะคนที่เข้ามาฟังส่วนใหญ่ยังอยู่ใน Platform ที่ไม่ใช่แบบเปิด ยังใช้ VRML/X3D กันอยู่ ยังไม่ได้เข้าสู่โลก WebGL เต็มๆ เขาก็มาโชว์อนาคตที่น่าสนใจของเทคโนโลยีตัวนี้ครับ ก็ดีเหมือนกัน โดยรวมผมชอบเรื่องความฮาของพี่แก ฮ่ะ ๆ ๆ ;P

หลังจากเสร็จกิจกรรมช่วงเช้าก็มากินข้าวกลางวันเหมือนเดิมครับ

แล้วก็เริ่มกิจกรรมช่วงบ่ายกันเลย เริ่มด้วยเรื่อง Declarative 3D นำโดย Kristian Sons และ Johannes Behr ครับ ส่วนอีกห้องที่ผมไม่ได้อยู่คือเรื่อง Lightweight Visualization โดย Julien Jomier จาก Kitware ครับ
น่าสนใจดีครับ เขาเอา Binary Compression มาโชว์ แบบว่าเหมือนตัว Performance Boost ที่เคยกล่าวก่อนหน้าอ่ะครับ สามารถเรนเดอร์พ้อยได้เป็นล้านเลย จากปกติไม่กี่แสน เจ๋งดีครับ

หลังจากเสร็จทั้ง 2 กิจกรรมนั้นแล้ว ทุกคนก็มารวมกันที่ห้องเดียวครับ เป็น Session เรื่อง 3D and the Web รวมๆก็คล้ายๆเหมือนไปนั่งรวมกันปล่อยมุขสักพักนึงอ่ะครับ ถึงมาเข้าเรื่อง ฮ่ะ ๆๆ

หลังจาก Session จบลงก็เป็นช่วงของการประกาศผลรางวัลสำหรับ Best Paper Award และ Best Poster Award ครับ ซึ่งผลก็คือ

Best Poster Award, Web3D Conference 2012
Best Poster Award, Web3D Conference 2012

ก็ดีใจครับ ;P
หลายๆคนก็มาแสดงความยินดีครับ ได้นามบัตร ได้คนชวนไปเรียน ส่วนตัวคิดว่าคุ้มค่าครับ เดี๋ยวปีหน้าเอาอีก โดยปีหน้า Web3D Conference 2013 อาจไปจัดที่สเปน หรือไม่ก็ที่เยอรมนีครับ ยังไม่มีการยืนยัน จากที่ฟังตอนเขาปิดงาน
หลังจากจบงาน Web3D Conference 2012 แล้วก็ไปต่อที่งาน SIGGRAPH 2012 ครับ เป็นช่วง SIGGRAPH Paper Fast Forward ซึ่งเป็นอะไรที่ฮามากๆ หลายคนทำวิดีโอนำเสนอได้ฮาสุดๆเป็นอะไรที่ชอบมาก ผมยังไม่เคยเห็นแบบนี้ในไทยเลยครับ รักเลย ฮาๆๆ

SIGGRAPH 2012 Paper Fast Forward
SIGGRAPH 2012 Paper Fast Forward

อันที่จริงเขาไม่ให้ถ่ายรูปนะครับเนี่ย แต่ผมก็ถ่ายมา แถมยังเอามาลง Blog อีก เหอๆๆ
หลังจากยืนอยู่ท้ายๆห้องสักพัก (เพราะเข้าห้องไปช้า คุยกับคนในงาน Web3D นานพอสมควร) เขาก็เปิดห้องใหม่ให้ โดยเป็นห้องที่ดูภาพถ่ายทอดสดจากห้องใหญ่อีกทีครับ

SIGGRAPH 2012 Paper Fast Forward
SIGGRAPH 2012 Paper Fast Forward

หลายๆเปเปอร์ หลายๆโปรเจค น่าสนใจมากๆๆๆๆครับ หากใครมีโอกาสปีถัดๆไปอยากให้มาดูกันครับ หลายๆอย่างไม่น่าเชื่อจริงๆว่ามันเกิดขึ้นแล้ว ;P
หลังจากจบกิจกรรม Paper Fast Forward ก็ออกไปหาข้าวกินกลับที่พักครับ ซึ่งคนเยอะมากๆเลยครับ

SIGGRAPH 2012, LA Convention Center, LA, CA, USA
SIGGRAPH 2012, LA Convention Center, LA, CA, USA

โดยสรุปแล้ว งานสนุกมาก แล้วก็ฟินด้วยครับ เป็นปีแรกด้วย แล้วได้รางวัลอีก ฟินครับ ต้องพัฒนามากขึ้นๆๆๆไปอีกครับ หวังว่าปีหน้าคงได้เจอกันที่งาน Web3D Conference 2013 และสำหรับ SIGGRAPH 2013 ที่จะจัดที่ Anaheim, CA ครับ อยู่ใกล้ Irvine กว่า LA อีก น่าจะได้มีอะไรสนุกๆทำอีกหลายอย่างเลยครับ ;D

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
LA Convention Center

หลังจากผมเดินหลงอยู่ใน LA Convention Center ได้สักพัก เห็นคนทำหน้าหลงๆเหมือนกันก็ถามๆกันจนมาเจอ Hall นี้ ถึงกับโล่งใจว่าเจอสักที แล้วก็ขึ้นบันไดเลื่อนมาที่ห้องสำหรับงานเปิด Web3D Conference 2012 ด้วยใจร้อนรนว่าเรามาถึงเลทไปห้านาทีแล้ว แฮ่ๆ

Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Web3D Conference 2012 at LA Convention Center, LA, CA, USA

หลังจากลงทะเบียนแล้ว ก็ได้ป้ายชื่อกับกระเป๋ามาครับ : )

Web3D Conference 2012
Web3D Conference 2012

หลังจากนั้นก็นั่งฟังป๋าๆเขาพูดเปิดงาน อธิบาย นู่น นี่ นั่น และกำหนดการของแต่ละวัน ทำอะไรบ้าง อะไรยังไง หลังจากทุกอย่างเรียบร้อยแล้วก็แยกห้องตามแต่ละเรื่องครับ จะแบ่งห้องนำเสนอเปเปอร์กับห้อง Tutorial, Workshop เป็นคนละห้องกัน ก็แล้วแต่คนชอบครับ ตามหัวข้อเรื่องสนใจอะไรก็ไปตามห้องนั้นครับ

ระหว่างนั้นก็มีคนซุบซิบตามหาชื่อแต่ละคนว่ามาไหม มีโปสเตอร์มาไหม จนได้ยินชื่อคุ้นๆ เลยเข้าไปถามว่า เมื่อกี้เรียกอะไรหัสดีเหรอครับ พี่ staff เขาก็เลย อ้ออ นี่หัสดีเหรอ ได้เอาโปสเตอร์มาไหม ผมก็ตอบอย่างภาคภูมิว่า ไม่ได้เอามาครับ ฮ่ะๆๆ เขาก็เลยให้เราส่ง PDF ให้ แล้วเขาก็เอาไปปริ๊นให้ครับ ดีจริงๆ ;D

หลังจากกิจกรรมภาคเช้าเสร็จสิ้นลง ก็กินข้าวกันครับ กับเหล่า Web3D geek คนอื่นๆ

Web3D Conference 2012
Web3D Conference 2012

ผมไปคนเดียวไม่รู้จักใครเลยครับ ไปนั่งฟังเขาคุยกัน เขาถามมาเราก็ตอบไป ส่วนใหญ่นั่งฟังครับ มีปัญหานิดหน่อยคือผมฟังภาษาอังกฤษสำเนียงสเปน อิตาลี ไม่ค่อยคล่องนัก แต่ก็พอรู้เรื่องอยู่มั้ง แต่ฟังยากจริงๆ พอดีหลงมานั่งอยู่โต๊ะนี้ครับ จากการสำรวจดู งานนี้ผมเด็กสุดครับ รู้สึกดี ฮาๆๆ
อ๊ะ! มีอีกคนนึงชื่อ Sergiy Byelozyorov คนนี้พูดเก่งมากครับ พูดไม่หยุด พูดตลอด เหมือนว่าจะมาจากยูเครนหรือไงนี่แหละครับ จำไม่ค่อยได้ แต่ว่าเขาเรียนอยู่ที่เยอรมันครับ ที่ Universität des Saarlandes ที่ Saarbrücken ก็มีเรื่องคุยกันเยอะเลย แต่เอาเข้าจริงก็ไม่ได้จะมีเยอะขึ้นนักหรอกครับ เพราะผมเคยอยู่แต่ München แค่เขาหันมาคุยกับเราบ่อยขึ้นแค่นั้น ฮ่ะๆๆ เขามี Workshop ช่วงบ่ายของวันนี้ด้วยครับ หัวข้อ Virtual Worlds in the Web ถือว่าได้เพื่อนมาอีกคนเพราะอายุห่างกันไม่มากครับ เขาเป็นพี่ผม 3 ปีเอง ถือว่ารุ่นๆเดียวกัน หากจะเทียบกับคนอื่นในงานซึ่งเป็นระดับป๋ากันเกือบหมดแล้ว

หลังจากรับประทานอาหารเสร็จแล้ว ก็กลับเข้าสู่ห้องสัมมนาครับ โดยช่วงแรกของบ่ายนี้จะเป็น Keynote ของ Prof. Markus Gross จาก Disney Research – Zurich ครับ มาเล่าถึงประวัติการเกิด Animation เก่าก่อนเลย การเริ่มต้นของ Computer Graphics ไล่จาก 2D มาเป็น 3D โดยนำตัวอย่างงานวิจัยของ Disney มาตั้งแต่แรกๆเลยครับ ว่าเขาทำอะไรกันมา จุดกำเนิดของ Mickey Mouse แล้วก็มีอะไรหลายอย่างขำๆให้ดูเยอะเลยครับ น่าสนใจมากเลยทีเดียว : )

หลังจากเสร็จสิ้นกิจกรรมลงช่วงเย็นก็มานำเสนอโปสเตอร์ครับ เราก็มายืนประจำโปสเตอร์ แต่ผมไม่ค่อยยืนกับพี่หรอกครับ เดินว่อนมาว่อนมา ถามงานคนอื่นไปเร่ือย มีบางงานน่าสนใจมากครับ เกี่ยวกับ Geospatial Visualization ชื่อ “Pervasive Touristic Location Based Service Mobile App with a Social Perspective” แต่เขาใช้ Unity ไม่ใช่ WebGL เป็นบริษัทจากอิตาลีครับชื่อ Fondazione Graphitech ผมยืนคุยด้วยอยู่นานเลยแหละครับ เพราะผมสนใจเกี่ยวกับ Geospatial Visualization มากๆ จะไปแอบดูดข้อมูลว่าเขาเอาข้อมูลจากไหนมาทำ ก็สนุกดีครับ ส่วนที่น่าสนใจอีกงานแต่ผมก็ไม่เข้าใจคืองาน “MEDX3DOM: MEDX3D for X3DOM” จาก Vicomtech ครับ เป็นการนำ X3DOM มาใช้สำหรับงาน Visualization ทางการแพทย์ ส่วนงานอื่นๆ เข้าไปดูได้ที่นี่เลยครับ ผมก็อธิบายไม่หมด มันจะยาวเกินไปครับ ;P Web3D 2012 Program

Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA
Posters of Web3D Conference 2012 at LA Convention Center, LA, CA, USA

หลังจากนำเสนอโปสเตอร์ไปจนอิ่มแล้ว น่าจะสักประมาณ 6 โมงกว่าๆครับ ก็เสร็จงาน เดินทางกลับโรงแรม แล้ว LA Convention Center อยู่ติดๆกับบ้านของ LA Laker ครับ สงสัยมีแข่งบาสจบพอดี มีแต่เด็กฮิปเต็มไปหมดเลย ฝั่งตรงข้ามถนนของตึกก็มีลานกว้างๆคนก็เล่นบาสกันเยอะแยะมาก ก็เป็นสีสันดีครับ

วันนี้ก็ราบรื่นดีครับ กับการลุยงานคนเดียวที่นี่ ไว้มาต่อวันที่ 2 ครับ ;D

[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) จำนวนรูปสามเหลี่ยม (Triangle) นั่นส่งผลต่อประสิทธิภาพในการเรนเดอร์และค่า Frame rate (หากดู Monitor ของ X3DOM คุณจะเห็นค่านี้แสดงเป็น x FPS โดย x เป็นตัวเลข Floating Point) หรือจากระยะหนึ่ง เข้าไปแล้วให้วัตถุเปลี่ยนไป เข้าไปอีกก็เปลี่ยนไปอีก ก็ได้แล้วแต่เราจะทำครับ

หลังจากพอเข้าใจหลักการคร่าวๆว่าโหนดนี้มีประโยชน์อย่างไร เรามาถึงวิธีการเขียนโหนด LOD กันครับ

<LOD center="0 0 0" range="10 15 20">

	<Group>
		<Shape DEF="Box">
			<Appearance DEF="BlueColor">
				<Material diffuseColor="0.0 0.2 0.8" />
			</Appearance>
			<Box />
		</Shape>
	</Group>

	<Group>
		<Shape>
			<Appearance USE="BlueColor"></Appearance>
			<Cone />
		</Shape>
	</Group>

	<Group>
		<Shape>
			<Appearance USE="BlueColor"></Appearance>
			<Cylinder />
		</Shape>
	</Group>
						
	<WorldInfo info='"null node"' />

</LOD>

จาก Source code
1. เริ่มประกาศโหนด LOD โดยกำหนด Attribute ให้ center มีค่าเป็น 0 0 0 นั่นหมายถึงเริ่มนับตำแหน่งของ LOD ที่จุด 0 0 0 คือจุดกลางของโหนดครับ (ทั้งนี้ไม่นับรวมถึงโหนด Transform นี่ครอบโหนด LOD นี้อีกที) และ range คือระยะห่างจากโหนด LOD ครับ จากตัวอย่างผมให้ระยะห่างเป็น 3 ช่วงคือ 10 15 และ 20 ครับ
2. จากนั้นแบ่งกลุ่มของวัตถุครับ ดังจะเห็นในบรรทัดที่ 3, 12 และ 19 นั่นคือการแบ่งช่วงระยะห่าง โดยนับจาก range คือ ระยะห่างจาก LOD ช่วง 0-10 จะแสดงวัตถุในกลุ่มแรก และมากกว่า 10-15 ก็จะแสดงวัตถุในกลุ่มที่สอง ตามด้วยช่วงมากกว่า 15-20 คือแสดงวันถุในกลุ่มที่สาม และหากระยะห่างจากจุด LOD มากกว่า 20 ขึ้นไป จะแสดงค่าตามบรรทัดที่ 26 ครับ คือบรรทัดนั้นผมกำหนดให้เขาเป็น null node นั่นหมายความว่า จะไม่แสดงอะไรเลย LOD นั้นก็จะหลายเป็นค่าว่างเลยครับ จะไม่มีจุดหรือสามเหลี่ยมอะไรที่ถูกเรนเดอร์ใน LOD นั้นแล้วครับ

จากตัวอย่างผมใช้วิธีเขียนวัตถุโดยใช้ Shape ในการเริ่มสร้างวัตถุง่ายๆขึ้นมาเช่น Box หรือ กล่อง, Cone หรือ กรวย และ Cylinder หรือวัตถุทรงกระบอกโดยให้ค่าเริ่มต้นเป็นค่าพื้นฐาน (Default) ตัววัตถุนั้นๆไป หากต้องการลูกเล่นเพิ่มเริม เราสามารถใช้โหนด Inline ในการเรียกวัตถุจากภายนอกไฟล์มาแทนในกลุ่มนั้นก็ได้ครับ โดยแทนโหนด Shape ไปครับ : )

[Gallery] Web3D, Bitmanagement Software and Inter Coop Sharing#2

[Gallery] Web3D, Bitmanagement Software and Inter Coop Sharing#2 at Suranaree University of Technology, Nakhon Ratchasima, Thailand

Bitmanagement Software's Logo
Bitmanagement Software's Logo
BS Contact on mobile, tablet and cross-platform (Windows, Mac, and Linux)
BS Contact on mobile, tablet and cross-platform (Windows, Mac, and Linux)
3D Avatars by Bitmanagement Software
3D Avatars by Bitmanagement Software
Q&A
Q&A

เริ่มต้นกับ 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) หรือ X3D (.x3d) อยู่แล้ว อยากอัพเกรดคุณภาพชีวิต เบื่อกับการใช้ Plugin ในการเปิด Web3D แล้ว อยากมาโลดแล่นบน Web Browser แบบ Unplugin โดยใช้ WebGL แทน แต่ไม่รู้จะทำไง เขียน WebGL ตรงๆก็อาจจะยากลำบากจนท้อแท้หน่ายชีวิตกัน.. จะทำยังไง?
2. มีไฟล์จาก Maya อยู่แล้ว แนะนำให้ไปอ่านโพสเก่าผม อันนี้
3. สำหรับคนที่มีไฟล์จาก 3Ds Max (.3ds) สามารถทำได้โดยการ Import ไฟล์นั้นเข้าไปที่ Blender (ต้องมี Blender ใช้ก่อนนะครับ ดาวน์โหลดและใช้ฟรีครับ) และ Export จาก Blender มาเป็น .x3d อีกที หรือใช้ BS Contact Plugin ทำการ Export ออกมาก็ย่อมได้

หลังจากมีไฟล์ X3D แล้ว สิเฮ็ดหยังต่อ?
1. ไฟล์ที่เราต้องการคือ x3dom.js
คำถาม เอามาจากไหน?
คำตอบ ดาวน์โหลดได้จาก X3DOM
2. โหลดมาแล้ว ทำไงต่อ?
คำตอบ เรียกใช้สิคร๊าบบบ

<script type="text/javascript" src="x3dom.js"></script>

ต่อจากนั้น เราก็ประกาศ ในหน้า HTML/XHTML ของเราได้เลยครับ
เช่น (เริ่มจากใน body เลยนะครับ)

<X3D xmlns="http://www.web3d.org/specifications/x3d-namespace"  showStat="false" showLog="false" x="0px" y="0px" width="400px" height="400px">
    <Scene>
        <Viewpoint position='0 0 10' />
        <Shape>
            <Appearance>
                <Material diffuseColor='0.603 0.894 0.909' />	
            </Appearance>
            <Box DEF='box'/>
        </Shape>
    </Scene>
</X3D>

อย่างเช่นโค้ดข้างบนนั้นคือ จะได้กล่องมา 1 กล่องครับ

ทั้งหมดนี้ก็เป็นพิธีกรรมในการเริ่มต้นครับ ลองเปิด Web Browser ของคุณได้เลย จะปรากฏกล่องให้คุณหมุนเล่นแล้วแหละครับ
Welcome to Web3D World ครับ : )

สำหรับตัวอย่างอื่นๆสามารถดูได้จากทาง Website ของ X3DOM ได้โดยตรงหรือดูจากหน้า X3DOM ของผมได้เหมือนกันครับ ไม่ต่างกันครับ : )

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:

x3dom.runtime.ready = function()
{
	var id = "x3dom-scene";
	var configure = document.getElementById(id);
	
	/* Default view */
	configure.runtime.showAll();
	getNavigationType(id);
	
	/* =============================================================
	 Arguments:	show (boolean) – true/false to show or hide the debug window
	 Returns: The current visibility status of the debug window (true/false)
	 Displays or hides the debug window. If the parameter is omitted, the current visibility status is returned.
	 ============================================================= */
	configure.runtime.debug(false);
	
	/* =============================================================
	 Arguments:	mode (boolean) – true/false to enable or disable the stats info
	 Returns:The current visibility of the stats info (true/false)
	 Get or set the visibility of the statistics information.
	 If parameter is omitted, this method returns the visibility status as boolean.
	 ============================================================= */
	configure.runtime.statistics(false)
}

That’s your X3DOM scene ID is “x3dom-scene” and your default viewpoint is “showAll”

function getNavigationType(id)
{
	var configure = document.getElementById(id);
	
	var navigationTypeName = configure.runtime.navigationType();
	var currentViewpoint = configure.runtime.viewpoint();
	
	console.log(navigationTypeName);
	console.log(currentViewpoint);
	
	document.getElementById('showNavigationType').innerHTML = navigationTypeName;
	setSpeed(0, id);
}

This method is used to show your current navigation type and your current viewpoint in your X3DOM scene and appear the result to your browser console. and Now, I think you should know how to use X3DOM Runtime API method to your X3DOM scene.

So this is the method that doesn’t public on official page of X3DOM Runtime API, togglePoints method. This method is used to change render type from other to point rendering.

function togglePoint()
{
	var configure = document.getElementById("x3dom-scene");
	configure.runtime.togglePoints();
}

The result example:

When this method was called, your geometry will appear like this.

togglePoints Demo

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.

And this is the main part, the JavaScript function.

For this example code, when you clicked the box it’ll set walk speed to 5 and current walk speed will show you on console.

Done! (=

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

C++ Realtime Rendering Software: Cross-Platform and Cross-Browser

==============================================================
=TH===========================================================
==============================================================

สรุปสั้นๆได้ว่า ขณะนี้ BS Contact ของ Bitmanagement Software GmbH ได้พัฒนาไปในรูปแบบ Cross-Platform และ Cross-Browser ซึ่งบน Windows สามารถใช้งานได้กับบราวเซอร์หลักทั้งหมด ได้แก่ Internet Explorer, Firefox, Google Chrome และ Opera ส่วนบน Mac สามารถใช้งานได้กับ Safari อีกทั้งยังพัฒนาไปถึงโทรศัพท์โนเกยรุ่น N900 และ iOS ซึ่งสามารถใช้งานบน iPhone3GS, iPhone4, iPod Touch, iPad1 และ iPad2 ได้ อีกทั้งยังมีตัวโปรแกรมที่เป็น Standalone สามารถใช้งานเรียกดูไฟล์ VRML/X3D หรือ Collada ได้ทันที
สามารถ Download BS Contact ได้ที่ http://www.bitmanagement.com/en/download

==============================================================
=EN===========================================================
==============================================================

Bitmanagement a leading developer of 3D visualization software announced today that the BS Contact C++ renderer has been successfully ported from Windows to Mac and Linux systems as well as Apple iOS devices including iPhone 3GS, iPhone4, iPad 1, iPad 2 and iPod devices. The 3D internet software, which runs embedded in all major browsers implements both the ISO standard definitions X3D and VRML prepared by the US based Web3D consortium in a cross platform way.

With the official release of BS Contact Mac 7.2.19 on Mac the 15 years continuous development of the 3D renderer BS Contact has become platform independent. Moreover, the trend toward performing interactive visualization on mobile devices is taken into account through the port of the C++ renderer BS Contact to handheld devices such as Nokia phones and iPad.

“The 3D content produced in line with existing 3D standards on the web ranges in millions already today. Our web plug-in BS Contact Mac presents this content embedded in Safari on Apple computers with the latest visual tricks and the speed known previously only from state of the art computer games. I look forward to receive further customer requirements and test feedback to our real-time web enabled software.”, explained Peter Schickel, Managing Director and CEO from Bitmanagement.

The target markets for the cross platform and cross browser 3D engine are Computer Aided Design (CAD) , Geographical Information Systems (GIS) and Interactive Games. In the area of CAD, Bitmanagement has for example won Spatial Corp.USA, as a provider of the worldwide used ACIS Kernel Cloud services and delivers a customized version of BS Contact for the ACIS Scheme Web Toolkit (http://web3d.spatial.com). In the GIS area, Bitmanagement is used as a rendering partners in M.O.S.S. Computer Grafik Systeme GmbH for the OEM version of their 3D Wega-Viewer. In the game area, for example, the apocalyptic game “Leelh” is based on BS Contact.

==============================================================
=DE===========================================================
==============================================================

Bitmanagement, ein führender Entwickler von 3D Visualisierungssoftware, gab heute bekannt, dass der BS Contact C++ Renderer erfolgreich von Windows auf MAC und Linux Systemen, wie auch auf Apple IOS Geräten (iPhone 3GS, iPhone 4, iPad 1, iPad 2 und iPod) portiert wurde. Die 3D Internet Software, die eingebettet in allen gängigen Internet Browsern lauffähig ist, stellt die ISO Standardformate X3D und VRML des Web3D Konsortiums, USA, dar.

Durch das offizielle Release des BS Contact MAC 7.2.19 wurde die in 15 Jahren konsequente Weiterentwicklung des 3D Renderers BS Contact Platform unabhängig. Darüber hinaus trägt Bitmanagement mit der Portierung des c++ Renderers BS Contact auf Handhelds, wie Nokia oder iPad, dem Trend zur performanten interaktiven Visualisierung auf mobilen Endgeräten, Rechnung.

“Die 3D Inhalte, die auf 3D Standards basieren, gehen heute schon in die Millionen. Das User Web Plug-In BS Contact MAC zeigt diesen Content im Safari Browser mit den neuesten Grafik-Tricks und der Schnelligkeit, die man sonst aus der Computer Spiele-Welt kennt. Ich freue mich bereits darauf, weitere Anforderungen und Testberichte unserer Kunden zu der neuen echtzeitfähigen 3D Web Software zu erhalten”, erläutert Peter Schickel, Geschäftsführer und CEO von Bitmanagement.

Die Zielmärkte für die Cross-Platform und Cross-Browser 3D Engine sind Computer Aided Design (CAD), Geographische Informations Systeme (GIS) und interaktive Spiele. Im CAD Bereiche konnte Bitmanagement beispielsweise Spatial Corp. USA, gewinnen, die als Anbieter des ACIS Kernels für das ACIS Scheme Web Toolkit auf eine speziell für Spatial angepasste Version zugreifen (http://web3d.spatial.com). Im GIS Bereich wird Bitmanagement als Rendering-Partner bei der M.O.S.S Computer Grafik Systeme GmbH, Taufkirchen bei München, für die OEM Version des 3D Wega Viewers genutzt und offen ausgewiesen. Im Game-Bereich ist beispielsweise das apokalyptische Spiel “leehl.com” zu nennen, das auf BS Contact basiert.

Ref: http://www.pressebox.de/pressemeldungen/bitmanagement-software-gmbh/boxid/427271

Library week 2011 – My Interview

พอดีมีคนมาขอสัมภาษณ์ไปติดบอร์ดงานสัปดาห์ห้องสมุดที่ มทส. ครับ ซึ่งน่าจะเป็นที่บรรณสาร เลยขอเอาบทสัมภาษณ์ของตัวเองมาแปะที่บล๊อคตัวเองด้วย เนื้อหามันอาจจะไม่เหมือนกับที่อยู่บนบอร์ดจริงนะครับ ซึ่งเห็นเขาบอกว่าติดต้นเดือนกรกฏาคม แต่ผมเอามาแปะที่บล๊อคตัวเองก่อนแล้ว อุอุ ซึ่งในนี้เนื้อหาก็อาจจะมีมากกว่าบอร์ดจริงนิดหน่อยนะครับ (หรืออาจจะมากกว่ามากเลย) เพราะผมก็ไม่รู้ว่าเขาจะปรับคำหรือตัดส่วนไหนไปบ้าง เพราะผมแพล่มไปซะเยอะเลย ใครใคร่อ่านก็ยินดีครับ ประวัติชีวิตบ้าบอของผม ฮ่าๆ

ผมเป็นคนที่จดไดอารีครับ แต่ละวันๆทำอะไร แต่ก็ไม่ทุกวันหรอกครับ เฉพาะวันพิเศษหรือวันบางวันที่มีอะไรพิเศษสำคัญๆ ความตั้งใจจริงๆก็คือจดทุกวันแหละครับ แต่เผอิญผมขี้เกียจ ฮ่าๆๆ อัญเชิญอ่านครับ

HASSADEE PIMSUWAN

1. พี่มีวิธีเตรียมตัวสอบ อ่านหนังสือแบ่งเวลาอย่างไรก่อนสอบครับ?

วิธีที่ลองเล่นมาหลายวิธีครับ เล่าไปตามประสบการณ์อันน้อยนิดนะครับ จะเล่าตามวิธีและผลของแต่ละวิธีที่ได้ลองมานะครับ การตัดสินใจหรือการประยุกต์ใช้ขึ้นกับตัวผู้เรียนเองนะ ไม่รับรองว่าจะเป็นตามนี้ เอิ๊กๆ (ที่ยกตัวอย่างว่าผลจะเป็น GPA เพราะเคยฟังอาจารย์ท่านหนึ่งแนะนำเรื่องการเรียนและยกตัวอย่างผลการเรียนมาให้ด้วยว่าได้เท่าไหร่ ซึ่งผมเลยขอเดินตามรอยสักนิด)

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

Continue reading