merge conflicts

This commit is contained in:
Andrey Sidorov 2012-12-12 22:40:54 +11:00
commit 4a6ce3f2d3
3 changed files with 91 additions and 313 deletions

72
examples/opengl/test1.js Normal file
View file

@ -0,0 +1,72 @@
var x11 = require('../../lib/x11');
var randomarr = [];
for(var i=0; i < 2000; ++i) {
randomarr.push([Math.random()*30-15, Math.random()*30-15, Math.random()*30-15]);
}
var width = 500;
var height = 500;
var eventmask = x11.eventMask.PointerMotion;
var listId = 1;
x11.createClient(function(display) {
var X = display.client;
var root = display.screen[0].root;
X.require('glx', function(GLX) {
var visual = 0;
var visuals = display.screen[0].depths[24];
for (visual in visuals) {
if (visuals[visual].class == 4 || visuals[visual].class == 5)
break;
}
var win = X.AllocID();
X.CreateWindow(win, root, 0, 0, width, height, 0, 0, 0, visual, { eventMask: eventmask });
X.MapWindow(win);
var ctx = X.AllocID();
GLX.CreateContext(ctx, visual, 0, 0, 0);
GLX.MakeCurrent(win, ctx, 0, function(err, ctx) {}); // do we need to wait for reply here?
function draw(ev) {
var gl = GLX.renderPipeline();
gl.Enable(0x0B71);
gl.Viewport(0, 0, 800, 800);
gl.MatrixMode(0x1701);
gl.LoadIdentity();
gl.Ortho(-30.0, 30.0, -30.0, 30.0, -300.0, 300.0);
//gl.Frustum(-30.0, 30.0, -30.0, 30.0, 30, 300.0);
gl.Rotatef(ev.y, 0, 0, 1);
gl.Rotatef(ev.x, 1, 0, 0);
gl.MatrixMode(0x1700);
gl.ClearColor(0.3,0.3,0.3,0.0);
gl.Clear(0x00004000|0x00000100);
gl.ShadeModel(0x1D01);
gl.LoadIdentity();
gl.CallList(listId);
gl.render(ctx);
GLX.SwapBuffers(ctx, win);
}
GLX.GenLists(ctx, 1, function(err, startListIndex) {
listId = startListIndex;
GLX.NewList(ctx, listId, 0x00001300);
var gl = GLX.renderPipeline();
gl.Begin(0x0004);
for (var i=0; i < 1000; ++i)
{
gl.Vertex3f(randomarr[i][0], randomarr[i][1], randomarr[i][2]);
gl.Color3f((randomarr[i+1000][0]+15/30), (randomarr[i+1000][1]+15)/30, (randomarr[i+1000][2]+15)/30);
}
gl.End();
gl.render(ctx);
GLX.EndList(ctx);
draw({x: 10, y: 10});
});
X.on('event', draw);
});
X.on('error', function(err) { console.log(err); });
});

View file

@ -141,320 +141,14 @@ module.exports = {
POSITION: 0x1203,
SPOT_DIRECTION: 0x1204,
AMBIENT_AND_DIFFUSE: 0x1602,
COLOR_INDEXES: 0x1603,
LIGHT_MODEL_TWO_SIDE: 0x0B52,
LIGHT_MODEL_LOCAL_VIEWER: 0x0B51,
LIGHT_MODEL_AMBIENT: 0x0B53,
FRONT_AND_BACK: 0x0408,
SHADE_MODEL: 0x0B54,
FLAT: 0x1D00,
SMOOTH: 0x1D01,
COLOR_MATERIAL: 0x0B57,
COLOR_MATERIAL_FACE: 0x0B55,
COLOR_MATERIAL_PARAMETER: 0x0B56,
NORMALIZE: 0x0BA1,
CLIP_PLANE0: 0x3000,
CLIP_PLANE1: 0x3001,
CLIP_PLANE2: 0x3002,
CLIP_PLANE3: 0x3003,
CLIP_PLANE4: 0x3004,
CLIP_PLANE5: 0x3005,
ACCUM_RED_BITS: 0x0D58,
ACCUM_GREEN_BITS: 0x0D59,
ACCUM_BLUE_BITS: 0x0D5A,
ACCUM_ALPHA_BITS: 0x0D5B,
ACCUM_CLEAR_VALUE: 0x0B80,
ACCUM: 0x0100,
ADD: 0x0104,
LOAD: 0x0101,
MULT: 0x0103,
RETURN: 0x0102,
ALPHA_TEST: 0x0BC0,
ALPHA_TEST_REF: 0x0BC2,
ALPHA_TEST_FUNC: 0x0BC1,
BLEND: 0x0BE2,
BLEND_SRC: 0x0BE1,
BLEND_DST: 0x0BE0,
ZERO: 0x0,
ONE: 0x1,
SRC_COLOR: 0x0300,
ONE_MINUS_SRC_COLOR: 0x0301,
SRC_ALPHA: 0x0302,
ONE_MINUS_SRC_ALPHA: 0x0303,
DST_ALPHA: 0x0304,
ONE_MINUS_DST_ALPHA: 0x0305,
DST_COLOR: 0x0306,
ONE_MINUS_DST_COLOR: 0x0307,
SRC_ALPHA_SATURATE: 0x0308,
FEEDBACK: 0x1C01,
RENDER: 0x1C00,
SELECT: 0x1C02,
"2D": 0x0600,
"3D": 0x0601,
"3D_COLOR": 0x0602,
"3D_COLOR_TEXTURE": 0x0603,
"4D_COLOR_TEXTURE": 0x0604,
POINT_TOKEN: 0x0701,
LINE_TOKEN: 0x0702,
LINE_RESET_TOKEN: 0x0707,
POLYGON_TOKEN: 0x0703,
BITMAP_TOKEN: 0x0704,
DRAW_PIXEL_TOKEN: 0x0705,
COPY_PIXEL_TOKEN: 0x0706,
PASS_THROUGH_TOKEN: 0x0700,
FEEDBACK_BUFFER_POINTER: 0x0DF0,
FEEDBACK_BUFFER_SIZE: 0x0DF1,
FEEDBACK_BUFFER_TYPE: 0x0DF2,
SELECTION_BUFFER_POINTER: 0x0DF3,
SELECTION_BUFFER_SIZE: 0x0DF4,
FOG: 0x0B60,
FOG_MODE: 0x0B65,
FOG_DENSITY: 0x0B62,
FOG_COLOR: 0x0B66,
FOG_INDEX: 0x0B61,
FOG_START: 0x0B63,
FOG_END: 0x0B64,
LINEAR: 0x2601,
EXP: 0x0800,
EXP2: 0x0801,
LOGIC_OP: 0x0BF1,
INDEX_LOGIC_OP: 0x0BF1,
COLOR_LOGIC_OP: 0x0BF2,
LOGIC_OP_MODE: 0x0BF0,
CLEAR: 0x1500,
SET: 0x150F,
COPY: 0x1503,
COPY_INVERTED: 0x150C,
NOOP: 0x1505,
INVERT: 0x150A,
AND: 0x1501,
NAND: 0x150E,
OR: 0x1507,
NOR: 0x1508,
XOR: 0x1506,
EQUIV: 0x1509,
AND_REVERSE: 0x1502,
AND_INVERTED: 0x1504,
OR_REVERSE: 0x150B,
OR_INVERTED: 0x150D,
STENCIL_BITS: 0x0D57,
STENCIL_TEST: 0x0B90,
STENCIL_CLEAR_VALUE: 0x0B91,
STENCIL_FUNC: 0x0B92,
STENCIL_VALUE_MASK: 0x0B93,
STENCIL_FAIL: 0x0B94,
STENCIL_PASS_DEPTH_FAIL: 0x0B95,
STENCIL_PASS_DEPTH_PASS: 0x0B96,
STENCIL_REF: 0x0B97,
STENCIL_WRITEMASK: 0x0B98,
STENCIL_INDEX: 0x1901,
KEEP: 0x1E00,
REPLACE: 0x1E01,
INCR: 0x1E02,
DECR: 0x1E03,
NONE: 0x0,
LEFT: 0x0406,
RIGHT: 0x0407,
FRONT: 0x0404,
BACK: 0x0405,
FRONT_AND_BACK: 0x0408,
FRONT_LEFT: 0x0400,
FRONT_RIGHT: 0x0401,
BACK_LEFT: 0x0402,
BACK_RIGHT: 0x0403,
AUX0: 0x0409,
AUX1: 0x040A,
AUX2: 0x040B,
AUX3: 0x040C,
COLOR_INDEX: 0x1900,
RED: 0x1903,
GREEN: 0x1904,
BLUE: 0x1905,
ALPHA: 0x1906,
LUMINANCE: 0x1909,
LUMINANCE_ALPHA: 0x190A,
ALPHA_BITS: 0x0D55,
RED_BITS: 0x0D52,
GREEN_BITS: 0x0D53,
BLUE_BITS: 0x0D54,
INDEX_BITS: 0x0D51,
SUBPIXEL_BITS: 0x0D50,
AUX_BUFFERS: 0x0C00,
READ_BUFFER: 0x0C02,
DRAW_BUFFER: 0x0C01,
DOUBLEBUFFER: 0x0C32,
STEREO: 0x0C33,
BITMAP: 0x1A00,
COLOR: 0x1800,
DEPTH: 0x1801,
STENCIL: 0x1802,
DITHER: 0x0BD0,
RGB: 0x1907,
RGBA: 0x1908,
MAX_LIST_NESTING: 0x0B31,
MAX_EVAL_ORDER: 0x0D30,
MAX_LIGHTS: 0x0D31,
MAX_CLIP_PLANES: 0x0D32,
MAX_TEXTURE_SIZE: 0x0D33,
MAX_PIXEL_MAP_TABLE: 0x0D34,
MAX_ATTRIB_STACK_DEPTH: 0x0D35,
MAX_MODELVIEW_STACK_DEPTH: 0x0D36,
MAX_NAME_STACK_DEPTH: 0x0D37,
MAX_PROJECTION_STACK_DEPTH: 0x0D38,
MAX_TEXTURE_STACK_DEPTH: 0x0D39,
MAX_VIEWPORT_DIMS: 0x0D3A,
MAX_CLIENT_ATTRIB_STACK_DEPTH: 0x0D3B,
ATTRIB_STACK_DEPTH: 0x0BB0,
CLIENT_ATTRIB_STACK_DEPTH: 0x0BB1,
COLOR_CLEAR_VALUE: 0x0C22,
COLOR_WRITEMASK: 0x0C23,
CURRENT_INDEX: 0x0B01,
CURRENT_COLOR: 0x0B00,
CURRENT_NORMAL: 0x0B02,
CURRENT_RASTER_COLOR: 0x0B04,
CURRENT_RASTER_DISTANCE: 0x0B09,
CURRENT_RASTER_INDEX: 0x0B05,
CURRENT_RASTER_POSITION: 0x0B07,
CURRENT_RASTER_TEXTURE_COORDS: 0x0B06,
CURRENT_RASTER_POSITION_VALID: 0x0B08,
CURRENT_TEXTURE_COORDS: 0x0B03,
INDEX_CLEAR_VALUE: 0x0C20,
INDEX_MODE: 0x0C30,
INDEX_WRITEMASK: 0x0C21,
MODELVIEW_MATRIX: 0x0BA6,
MODELVIEW_STACK_DEPTH: 0x0BA3,
NAME_STACK_DEPTH: 0x0D70,
PROJECTION_MATRIX: 0x0BA7,
PROJECTION_STACK_DEPTH: 0x0BA4,
RENDER_MODE: 0x0C40,
RGBA_MODE: 0x0C31,
TEXTURE_MATRIX: 0x0BA8,
TEXTURE_STACK_DEPTH: 0x0BA5,
VIEWPORT: 0x0BA2,
AUTO_NORMAL: 0x0D80,
MAP1_COLOR_4: 0x0D90,
MAP1_INDEX: 0x0D91,
MAP1_NORMAL: 0x0D92,
MAP1_TEXTURE_COORD_1: 0x0D93,
MAP1_TEXTURE_COORD_2: 0x0D94,
MAP1_TEXTURE_COORD_3: 0x0D95,
MAP1_TEXTURE_COORD_4: 0x0D96,
MAP1_VERTEX_3: 0x0D97,
MAP1_VERTEX_4: 0x0D98,
MAP2_COLOR_4: 0x0DB0,
MAP2_INDEX: 0x0DB1,
MAP2_NORMAL: 0x0DB2,
MAP2_TEXTURE_COORD_1: 0x0DB3,
MAP2_TEXTURE_COORD_2: 0x0DB4,
MAP2_TEXTURE_COORD_3: 0x0DB5,
MAP2_TEXTURE_COORD_4: 0x0DB6,
MAP2_VERTEX_3: 0x0DB7,
MAP2_VERTEX_4: 0x0DB8,
MAP1_GRID_DOMAIN: 0x0DD0,
MAP1_GRID_SEGMENTS: 0x0DD1,
MAP2_GRID_DOMAIN: 0x0DD2,
MAP2_GRID_SEGMENTS: 0x0DD3,
COEFF: 0x0A00,
ORDER: 0x0A01,
DOMAIN: 0x0A02,
PERSPECTIVE_CORRECTION_HINT: 0x0C50,
POINT_SMOOTH_HINT: 0x0C51,
LINE_SMOOTH_HINT: 0x0C52,
COMPILE: 0x1300,
// Hint
POLYGON_SMOOTH_HINT: 0x0C53,
FOG_HINT: 0x0C54,
DONT_CARE: 0x1100,
FASTEST: 0x1101,
NICEST: 0x1102,
SCISSOR_BOX: 0x0C10,
SCISSOR_TEST: 0x0C11,
MAP_COLOR: 0x0D10,
MAP_STENCIL: 0x0D11,
INDEX_SHIFT: 0x0D12,
INDEX_OFFSET: 0x0D13,
RED_SCALE: 0x0D14,
RED_BIAS: 0x0D15,
GREEN_SCALE: 0x0D18,
GREEN_BIAS: 0x0D19,
BLUE_SCALE: 0x0D1A,
BLUE_BIAS: 0x0D1B,
ALPHA_SCALE: 0x0D1C,
ALPHA_BIAS: 0x0D1D,
DEPTH_SCALE: 0x0D1E,
DEPTH_BIAS: 0x0D1F,
PIXEL_MAP_S_TO_S_SIZE: 0x0CB1,
PIXEL_MAP_I_TO_I_SIZE: 0x0CB0,
PIXEL_MAP_I_TO_R_SIZE: 0x0CB2,
PIXEL_MAP_I_TO_G_SIZE: 0x0CB3,
PIXEL_MAP_I_TO_B_SIZE: 0x0CB4,
PIXEL_MAP_I_TO_A_SIZE: 0x0CB5,
PIXEL_MAP_R_TO_R_SIZE: 0x0CB6,
PIXEL_MAP_G_TO_G_SIZE: 0x0CB7,
PIXEL_MAP_B_TO_B_SIZE: 0x0CB8,
PIXEL_MAP_A_TO_A_SIZE: 0x0CB9,
PIXEL_MAP_S_TO_S: 0x0C71,
PIXEL_MAP_I_TO_I: 0x0C70,
PIXEL_MAP_I_TO_R: 0x0C72,
PIXEL_MAP_I_TO_G: 0x0C73,
PIXEL_MAP_I_TO_B: 0x0C74,
PIXEL_MAP_I_TO_A: 0x0C75,
PIXEL_MAP_R_TO_R: 0x0C76,
PIXEL_MAP_G_TO_G: 0x0C77,
PIXEL_MAP_B_TO_B: 0x0C78,
PIXEL_MAP_A_TO_A: 0x0C79,
PACK_ALIGNMENT: 0x0D05,
PACK_LSB_FIRST: 0x0D01,
PACK_ROW_LENGTH: 0x0D02,
PACK_SKIP_PIXELS: 0x0D04,
PACK_SKIP_ROWS: 0x0D03,
PACK_SWAP_BYTES: 0x0D00,
UNPACK_ALIGNMENT: 0x0CF5,
UNPACK_LSB_FIRST: 0x0CF1,
UNPACK_ROW_LENGTH: 0x0CF2,
UNPACK_SKIP_PIXELS: 0x0CF4,
UNPACK_SKIP_ROWS: 0x0CF3,
UNPACK_SWAP_BYTES: 0x0CF0,
ZOOM_X: 0x0D16,
ZOOM_Y: 0x0D17,
TEXTURE_ENV: 0x2300,
TEXTURE_ENV_MODE: 0x2200,
TEXTURE_1D: 0x0DE0,
TEXTURE_2D: 0x0DE1,
TEXTURE_WRAP_S: 0x2802,
TEXTURE_WRAP_T: 0x2803,
TEXTURE_MAG_FILTER: 0x2800,
TEXTURE_MIN_FILTER: 0x2801,
TEXTURE_ENV_COLOR: 0x2201,
TEXTURE_GEN_S: 0x0C60,
TEXTURE_GEN_T: 0x0C61,
TEXTURE_GEN_R: 0x0C62,
TEXTURE_GEN_Q: 0x0C63,
TEXTURE_GEN_MODE: 0x2500,
TEXTURE_BORDER_COLOR: 0x1004,
TEXTURE_WIDTH: 0x1000,
TEXTURE_HEIGHT: 0x1001,
TEXTURE_BORDER: 0x1005,
TEXTURE_COMPONENTS: 0x1003,
TEXTURE_RED_SIZE: 0x805C,
TEXTURE_GREEN_SIZE: 0x805D,
TEXTURE_BLUE_SIZE: 0x805E,
TEXTURE_ALPHA_SIZE: 0x805F,
TEXTURE_LUMINANCE_SIZE: 0x8060,
TEXTURE_INTENSITY_SIZE: 0x8061,
NEAREST_MIPMAP_NEAREST: 0x2700,
NEAREST_MIPMAP_LINEAR: 0x2702,
LINEAR_MIPMAP_NEAREST: 0x2701,
LINEAR_MIPMAP_LINEAR: 0x2703,
OBJECT_LINEAR: 0x2401,
OBJECT_PLANE: 0x2501,
EYE_LINEAR: 0x2400,
EYE_PLANE: 0x2502,
SPHERE_MAP: 0x2402,
DECAL: 0x2101,
MODULATE: 0x2100,
NEAREST: 0x2600,
REPEAT: 0x2901,
CLAMP: 0x2900,
VENDOR: 0x1F00,
// glGetString
RENDERER: 0x1F01,
VERSION: 0x1F02,
EXTENSIONS: 0x1F03,

View file

@ -54,6 +54,16 @@ module.exports = function(GLX, ctx) {
buffers.push(res);
};
<<<<<<< HEAD
=======
function serialize2i(opcode, value1, value2) {
var res = commandBuffer(opcode, 12);
res.writeUInt32LE(value1, 4);
res.writeUInt32LE(value2, 8);
buffers.push(res);
}
>>>>>>> a5087c35c661b9177afa3c7a31502543a9dd2d51
function serialize1i(opcode, value) {
var res = commandBuffer(opcode, 8);
res.writeUInt32LE(value, 4);
@ -173,7 +183,9 @@ module.exports = function(GLX, ctx) {
PointSize: function(r) {
serialize1f(100, r);
},
Hint: function(target, mode) {
serialize2i(85, target, mode);
}
};
// import all constants