mirror of
https://github.com/danbulant/node-x11
synced 2026-06-12 11:10:31 +00:00
merge conflicts
This commit is contained in:
commit
4a6ce3f2d3
3 changed files with 91 additions and 313 deletions
72
examples/opengl/test1.js
Normal file
72
examples/opengl/test1.js
Normal 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); });
|
||||
});
|
||||
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue