Page 24 of 67 FirstFirst ... 1420212223242526272834 ... LastLast
Results 231 to 240 of 670

Thread: The LaserBoy Thread

  1. #231
    Join Date
    Jun 2009
    Location
    Mesa, AZ
    Posts
    1,277

    Default

    Thanks for the history. I did find a pic of a poster for a band with that name and logo, for a show at the Keystone in Palo Alto, CA in 1979. Found a pic of another pin, but blue.

  2. #232
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    It's hard to believe, but the first time any part of the code for LaserBoy was release to the public was January 1, 2005.

    It was part of a Linux API that I wrote for controlling the video card, called ezfb.

    Having an application that used the API really drove the development of both projects.

    Originally, ild2fb was a console application. It took two computers to work. One of them ran Linux and provided the high resolution vector display and the other shelled into the Linux machine to run and control the app through a terminal. It could also be done on one machine with Knoppix installed as a virtual machine.

    That's why there is no mouse!

    Someone told me about libSDL and with that I was able to port LaserBoy to any OS that is supported by libSDL.

    To this day, you can still run LaserBoy in a console of a Linux machine with frame buffer support in the kernel; absolutely no windowing system required.

    It works quite well on a Raspberry Pi.

    James.
    Last edited by james; 04-21-2019 at 09:11.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  3. #233
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default Getting started

    LaserBoy Basics:

    The only part of your hard drive that LaserBoy can see is inside of its own
    directory. There you will find a set of named folders where the appropriate
    file types must go.

    You can create folders inside of the ild directory and navigate into them,
    but only this one folder deep.

    You can create folders inside of the dxf directory and place multiple dxf
    files in them and LaserBoy will open them in alpha-numeric order as a
    frame set.

    LaserBoy opens and checks to see if it is the current version. If it is not,
    a message will appear.

    Please always get the current version !!!
    http://laserboy.org/code/LaserBoy_Current.zip

    LaserBoy opens showing the stats of the frame set it always opens with,
    in.ild.

    In general, the [Enter] key hides and shows all of the menus. It also is required
    to enter any information at a prompt that requires more than one key stroke to
    complete.

    In any situation where you are asked to enter the name of a file or effect
    that already exists, LaserBoy will ignore any key input that doesn't lead to a
    selection and it will fill in the characters for you as your input eliminates any
    other choices until you have narrowed it down to only one possibility.

    The [Esc] key backs you out of any menu or input prompt to wherever you
    were before. From the main menu [Esc] takes you to a choice of terminating the
    application. It shows a bright red screen and asks you if you really want to exit
    the program. Hitting the y key terminates the application. Hitting [Esc] again
    takes you back to the main menu. Clicking on the X in the upper right corner of
    the window has no effect.

    Left and right arrow keys move you through the frame set forward and backward.


    From the main menu:

    The 9 key takes you to the first frame in the set and the 0 key takes you to the
    last.

    The [Tab] key takes you to system value settings. All of these settings will
    prompt you to enter a value. The [Tab] menu is generally available from most
    menus. And when you [Esc] from it, it will return you to whatever menu you
    were already in.

    The x menu, system switch settings will all be either set or unset with a key hit.

    The u key takes you to a menu of user interface visual attributes you can
    enable or disable.

    The [Space] bar selects or unselects the current frame. You can see if a frame
    is selected by looking at the stats on the right side of the screen. The number

    of vertices is in cyan. The number of individual lit segments is in magenta and
    the frame type 2D or 3D and its number in the frame set is in yellow. If a frame
    is selected the background field of the frame type and number will be dark red.

    The ( key, (shift 9) sets the current frame series select and the ) key, (shift 0)
    sets the current frame as the last series select, selecting all frames between
    the two.

    The ` and ~ (to the left of the digit 1, top row) start the frame set animation
    forward or backward. Look in the [Tab] menu for option h frames per second
    and look in the x menu for option 2 animate at approximate frame rate.
    If this is not set, the frames will advance as fast as your computer can
    render them.

    The - and _ key, (right of the digit 0 top row), will start an animated 3D
    rotation of the current frame, forward or backward 1 degree around all 3 axis.

    The setting for frames per second and animate at approximate frame rate apply.

    The = and + key also orbit the view as above plus advance the frame,
    forward or backward.



    The view keys menu:

    If you look at menu v you will see tables of keys that effect your view of the art.

    The digits 1, 2, 3, 4, 5, 6, 7 all orbit the view around the art. For each key
    hit of 1, 2, 3 or 4, the camera orbits in some number of degrees around each axis
    or all three axis. The number of degrees of rotation is set in the [Tab] menu,
    option c rotate degree per key hit. The shift key plus 1, 2, 3 or 4 rotates in
    the opposite direction.

    The keys 5, 6, & 7 snap to the cardinal views of front, side and top of the 3D
    cube of space. Shift plus 5, 6 & 7 snap to the logical opposites of back, other
    side and bottom views.

    The 8 key is like the 4 key but it also advances the frame. So you can press
    and hold it to see an animation in full rotation. Shift 8 does this in reverse.

    The q, w, e & r keys, right below 1, 2, 3, 4, pan the camera left-right, up-down,
    both-at-the-same-time and return to center. Shift on q, w & e pans in the opposite
    direction. The amount of pan motion per key hit is in some number of points,
    set in menu [Tab] option 0 (digit zero), a or b ( in different ways they set
    the same value. Points are relative to the signed 16-bit number space in which
    this vector art exists. So from one side of the 3D cube of space to the other,
    along any of the cardinal axis, there are 65535 points.

    The keys a, s, d & f, right below q, w, e, r zoom the camera. The a key stretches
    the X axis; the s key Y and the d key does both. Shift plus key shrinks them.
    The f key returns the camera zoom to normal; a factor of 1.0. Option d in the
    [Tab] menu determines the percentage of zoom per key tap.

    The one thing you might notice is that pan and zoom have nothing to do with the Z
    axis. That is because these controls effect the way the art is displayed on the
    screen. The screen simply has no Z axis. It is important to understand that
    none of the keys described above have any effect on the numerical values that
    define the art. They only effect the way the art is displayed on the (2D) screen.

    You can however impose the current view on the art itself so that what you see is
    actually what is stored in the frame data.

    A big issue here is that the view of the art must all fit inside of the 3D cube
    of numerically defined space. Note that it is very easy to set the view so that
    this is not the case.

    If any of the art, in the straight on front, no zoom, no pan view, is outside of
    the defined 3D space, trying to apply the view simply will not work.
    LaserBoy will not remove or change the coordinate values of any vertices in

    the frame. It will tell you it is out of bounds.

    However, if you go into the x switch settings menu and turn on option
    3 destructive clipping in move scale rotate, it will do exactly that. It will
    remove all vector data that is outside of the cube of short integer space,
    after a pan, zoom or rotate is applied to the data.

    It's also important to think about applying the effects of rotation, pan and
    zoom individually. Don't try to do all of them in the same step.

    The "current view" displayed in menu v shows the rotational angle on each axis,
    the offset and the scale that the display math is using to make the 2D raster
    picture on the screen from the 3D vector art in the RAM.

    Below that are shown the letter options for applying these factors to the art
    itself. Once the factors are applied to the art they are set back to normal so
    that you can see the art as it really is; from the front of space with no pan

    or zoom. Lower case letters o, t & g apply the view to the current frame only.
    Upper case applies the view to the whole frame set.

    In menu u you can turn on and off some visual elements that enhance the display
    on the screen. The fixed bounds and origin in conjunction with the floating
    bounds and axis makes all of this make a lot more sense visually.

    All of the listed keys in the view menu work in the main menu except for the
    keys that apply the view to the art. Those only work when you are in menu v.

    The number keys 1, 2, 3, 4, 5, 6, 7 & 8 work the same way in menus k and l (L)
    to enhance the ability to draw and manipulate vector art in 3D space; again,
    only effecting the way the art is displayed on the 2D computer screen.


    LaserBoy Effects:

    Perhaps one of the most powerful things LaserBoy can do is call a function on
    the current frame, a group of selected frames or a whole frame set to do math
    on it and create a new frame set as a result. The very first version of LaserBoy,
    written in 2003, was designed to do just that.

    There are two ways to call an effect function by name. From main, in the
    o output file menu, choose 1 ild. Choose a directory. Choose from
    options 4, 5 or 6. Or from main choose option n.

    Effects that work on selected frames require that some frames are selected.
    Some of them take a specific number of frames. Some don't.

    You will see a list of available effects by name. Type the name and [Enter].
    You will be prompted to enter a file name for the new ild frame set that will be the
    result of the effect. If you [Enter] nothing, no file will be saved and the resulting
    frame set will be loaded into memory in place of the current frame set. If you type
    a name, a new ild file will be saved in the directory you chose to get here. You will
    then be prompted to load (or not) the resulting frame set into the memory,
    replacing the current one.

    All of the effects work in 3D and with no loss of color information. Some effects
    require a view of the Z axis, so you might need to rotate the view
    away from the front of space to see them.

    If you are really curious as to how these effects actually work, you can look in
    the src directory for the files:

    LaserBoy_frame_effects.cpp
    LaserBoy_frame_set_effects.cpp
    LaserBoy_selected_frames_effects.cpp


    Drawing in LaserBoy:

    In both menus k and l (L) you will see two cursrs that move along the vertices.
    The open square I called the egg and the other 8 legged thing is called the spider.
    These are to mark the beginning and the end of a selected portion of the art
    (in consecutive vertices).

    As you move the vertex cursors back and forth through the drawing with the
    [{ and ]} keys, you can see what vertex number each one is on in the information
    below the palettes. The vertex number is in cyan. the segment index is in magenta
    and the palette color index is in white.

    You can put the egg on the same vertex as the spider with the (capital) K key.
    You can put the spider on the same vertex as the egg with the (capital) L key.

    If both cursors are on the same vertex, that single vector is selected
    (the line from there back to its anchor vertex).

    The first thing that might be confusing is selecting a single vector. A vector is
    the line that exists between two vertices. In order to select a single vector,
    BOTH the egg and the spider must be on the destination end of the vector!

    The color and the blanking status of a vector is stored in the destination end
    of the vector.

    The least amount of information you can have in a frame is two vertices;
    an anchor and a destination of a single vector.

    In menu k a lot of the functionality only effects the vertex under the spider.
    You can move it in X, Y and Z by hitting the keys x y & z. Upper case moves it
    in the opposite direction. You can also rotate the vector around its own anchor
    in the X, Y or Z (keys d, g, f) plane or and you can change the length or
    magnitude of the vector (m key).

    Look in the [Tab] menu for:

    0 move points per key hit
    a move as % of space
    b move as 1 / [n] of space
    c rotate degrees per key hit
    d scale percent per key hit

    Points are relative to signed short integer space (-32767 to +32767). The value of
    the displacement step is always an integer.

    Some of these functions don't make any sense on the zeroth vertex. That is the
    only vertex in the whole drawing that can only be an anchor. It can never have
    a color or be blank or not blank.

    The . (dot) will add a new vertex based on the one that is immediately before it
    in the drawing. If the spider is on the last vertex, it will make a new vector on
    the end of the drawing that is identical to the previous one (unless you run into
    the edge of space). If the spider is somewhere inside the drawing, it will split
    the vector in half.

    To make a new empty frame, from main hit 9 to go to the first frame in the set.
    Hit j to enter the frame set transforms menu. Hit 9 to add a blank frame to the
    beginning of the frame set. If you only want one blank frame loaded, you can
    select the new blank frame with the [space] bar and hit 3 to trim the set to only
    selected frames. Hit [Esc] to return to the main menu to enter either menu
    k to draw individual vertices or menu m to render segments by coordinates
    to create content in the new frame.

    When you make a new empty frame it actually has 2 vertices at the origin
    (no magnitude) and the vector they make is blank!

    The first thing you might want to do is move the spider to the last vertex
    (number 1) and unblank the vector (capital B). Then pick a color with the p key.

    Capital P moves the color cursor backwards. Once you have the color you want,
    color the vector with the c key. Now you can see it!

    You can move both the anchor and the destination of this first vector anywhere

    you want with the x, y, z keys. Then you can just pop and place vectors by moving
    the spider to the last vertex and hitting the . and moving the new vertex where
    you want it.

    If you are editing an existing drawing, you can move the spider to a vertex of
    a desired color and hit the (capital) C key to set the palette color index to
    that color.

    You might find it makes a lot of sense to "pop and rotate" vectors. Add a new
    vector with the . key and rotate it into place with the f or F key. That way every
    vector in the drawing will be the same magnitude regardless of its direction!

    That makes for an image that scans nicely and gives you even intensity
    (especially useful around curves).

    You can also use the \ and the | keys to place the egg at the beginning and the
    spider at the end of the drawing, selecting the whole thing.

    The keys u i and o select lit segments within the drawing
    (individually or consecutively).

    You can open a bitmap file into the display background and trace vectors over it.
    From the main menu, choose i to input a file. Choose 6 for bmp. Choose 6 to load
    it into the display background. Chose y or any other key to answer if you want
    the bitmap to be scaled to fit the screen. Hitting the ; (semicolon) key will cause
    the bitmap to disappear and reappear. Hitting the : (colon key) will make the
    bitmap display as a negative.

    In the [Tab] menu, option o bitmap background size factor can be set to whatever
    you you want.
    Last edited by james; 05-07-2019 at 19:13.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  4. #234
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    New Version!

    2019_05_07

    http://laserboy.org/code/LaserBoy_Current.zip

    Fixed a big issue with the new way the background bitmap is displayed.

    In the previous release for the first time ever, the background bitmap panned, zoomed and rotated with the view of space.

    It takes a bit of time to render every pixel in a bitmap in 3D space.

    That slowed everything way down whenever a bitmap was loaded into the display.

    So I re-wrote all of that stuff so it not only renders a bit faster, but now it only does the 3D rendering calculations when the view changes.

    This is a big deal when you are trying to draw anything.
    Last edited by james; 05-07-2019 at 14:14.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  5. #235
    Join Date
    Jul 2008
    Posts
    768

    Default

    Some time back, you added libwinpthread-1.dll as a mandatory support file for LB- what's the deal?

  6. #236
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    Quote Originally Posted by dchammonds View Post
    Some time back, you added libwinpthread-1.dll as a mandatory support file for LB- what's the deal?
    I upgraded my Windows compiler to the current version of MinGW.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  7. #237
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    48" x 30" acrylic on canvas.
    Attached Thumbnails Attached Thumbnails 60197932_2413533825345467_4527405153623474176_n.jpg  

    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  8. #238
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    Number 3 of recent work. 30" x 40".
    Attached Thumbnails Attached Thumbnails 60441552_2424023494296500_698230123186356224_n.jpg  

    60477773_2424023540963162_3814477270098116608_n.jpg  

    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

  9. #239
    Join Date
    Jul 2008
    Posts
    768

    Default

    Has anyone ever compiled LB on an Android device? How about a demo of that egg and spider thing on a smartphone...

  10. #240
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    2,197

    Default

    It is entirely possible that it can be done with the libSDL 1.2 android libs.

    An android device knows how to use an external keyboard, you know.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    All software has a learning curve usually proportional to its capabilities and unique features. Pointing with a mouse is in no way easier than tapping a key.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •