그럴줄 알았지 Google V8-GL
JAVASCRIPT / 2009/06/26 10:39
A JavaScript Toolkit for creating Desktop Hardware Accelerated Graphics with JS. V8-GL Project
구글의 크롬 엔진과 같은 V8엔진에 OpenGL API를 컨버팅하는 프로젝트로 현재 80%정도 작업이 완료되었다는 군요. 구글이 자바스크립트 엔진에 손댈 때부터 알아봤습니다.. 이제 시작일 뿐입니다.. 멋지네요..
브라우저의 주도권을 잡고 있는 파폭,IE 긴장해야 할겁니다... 크롬의 목표는 웹OS라는 점을 잊지 말아야 할 것입니다.
http://github.com/philogb/v8-gl/tree/master#readme
//Add array iteration method
Array.prototype.each = function(f) {
var len = this.length;
for ( var i = 0; i < len; i++) f(this[i]);
};
//Initializes 3D rendering
function initRendering() {
"DEPTH_TEST COLOR_MATERIAL LIGHTING LIGHT0 NORMALIZE COLOR_MATERIAL"
.split(" ").each(function(elem) {
Gl.Enable(Gl[elem]);
});
}
//global angle variable
var angle = 0;
//Draws the 3D scene
function drawScene() {
//Set global color and drawing properties
Gl.Clear(Gl.COLOR_BUFFER_BIT | Gl.DEPTH_BUFFER_BIT);
Gl.MatrixMode(Gl.MODELVIEW);
Gl.LoadIdentity();
Gl.Translatef(0.0, 0.0, -5.0);
//Set diffuse and positioned lights
Gl.LightModelfv(Gl.LIGHT_MODEL_AMBIENT, [0.3, 0.3, 0.3, 1.0]);
Gl.Lightfv(Gl.LIGHT0, Gl.DIFFUSE, [0.4, 0.4, 0.4, 1.0]);
Gl.Lightfv(Gl.LIGHT0, Gl.POSITION, [5.0, 5.0, 5.0, 1.0]);
//Rotate and plot Icosahedron
Gl.Rotatef(angle, 1.0, 1.0, 1.0);
Gl.Color3f(0.5, 0.0, 0.8);
Glut.SolidIcosahedron(2.5);
//Render
Glut.SwapBuffers();
}
(function() {
//Initialize Glut
Glut.Init();
Glut.InitDisplayMode(Glut.DOUBLE | Glut.RGB | Glut.DEPTH);
Glut.InitWindowSize(400, 400); //Set the window size
//Create the window
Glut.CreateWindow("OpenGL on V8 baby!");
initRendering();
//Set drawing callback
Glut.DisplayFunc(drawScene);
//Set resize window callback
Glut.ReshapeFunc(function(w, h) {
var gl = { 'Viewport': [0, 0, w, h], 'MatrixMode': [Gl.PROJECTION], 'LoadIdentity': [] };
for (var i in gl) Gl[i].apply(this, gl[i]);
Glu.Perspective(45.0, w / h, 1.0, 200.0);
});
//Set timeout callback
Glut.TimerFunc(25, function() {
angle += 2.0;
if (angle > 360) angle -= 360;
Glut.PostRedisplay();
Glut.TimerFunc(25, arguments.callee, 0);
}, 0);
//Start the main loop.
Glut.MainLoop();
})();
TAG
크롬



댓글을 달아 주세요
우와 정말 멋지군요.
FF와 IE 제대로 긴장해야겠는데요? ㅎㅎ
요즘 잘 지내시나요? ㅎㅎ 작년이후론 뵙질못해서 ㅜㅜ... 얼릉 뵙고싶어요 ㅋㅋ
나중에 정웅님네 사무실에 놀러갈때 연락드릴게요~
^^ 얼굴본지 꽤 오래됐네..
연락해~
저도 긴장되는군요. ㅋㅋ
긴장은요.. 준비하셔야죠
안녕하세요? 지금 구글 v8에 대해 조사하면서 들렀는데 위의 그림이 어떠한 소스인가요?