Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

An update to Anim8or, v1.00b, is available with a few bug fixes. Get your copy HERE. See the "ReadMe" file for details.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Steve

Pages: 1 2 [3] 4 5
31
Ongoing Anim8or Development / Big Changes to Point Edit Tools
« on: November 27, 2014, 07:12:31 pm »
I'm updating Point Edit mode fairly drastically. It's long overdue. This is a big job and I think it's reached a point where it's better than before. Please bear with me on during the transition. The major changes are:

Simultaneous editing of Points, Edges and Faces: You can enable any or all of these together.

Dynamic Highlighting: With Fast Select enabled the Point, Edge or Face currently under the mouse is highlighted in red. This makes it easier to see what will happen when you click the mouse. There is a top menu button to toggle Fast Select, hot key <Ctrl-T>. I'm not 100% happy with the red color so let me know what you think.

Thick Edges: An option in the File->ConfigureUI dialog uses thicker lines to draw edges. Try this together with antialiased workspaces for a great look, especially on larger screens.

Consistent of Mouse Buttons: I've changed the use of the mouse buttons to be more consistent.  For example, previously for Arrow Select the left mouse button (LMB) selected one item and deselected the precious ones, the MMB deselected only that one thing, and the RMB added to the selection. For Move the LMB moved things in the plain of the screen, the MMB in the direction of the normals, and the RMB into the screen. The new behavior makes everything act like Arrow Select. Now you can press the <Ctrl> key to move in the direction of the normal.

Space Bar Deslelects: now the <Space> bar deselects everything as it does in the rest of Anim8or.

Smart Selection: You can select only what you can see. In wireframe Points have priority over Edges, over Faces. This allows you to select points and edges in the back part of something. (Of course you can still disable front and  backside components with the [Front] and [Back] buttons.) In solid views the closest thing to the view is selected so you don't accidentally select a hidden edge, etc. If edges or points aren't drawn (are disabled in the UI settings dialog) then the aren't selected by the mouse.

Rotate and Scale tools: I haven't changed these yet except in the way things are selected. My original "pivot" idea simply doesn't work. So in the coming days I'm changing them to be more intuitive. Stay tuned...

Hot key T: toggles through point, edge, face select modes. I intended to have a 4th state that enabled all 3 but forgot to add it for this build.

OK, give the new Point Editor a try and let me know what you think!


32
Build 1127 adds a new command line option -traceinit that outputs the progress of Anim8or during initialization to a text window. To use it, open a command window and start Anim8or with the option:

anim8or_1127 -traceinit

The output for a successful start should look something like this:

Code: [Select]
begin: InitInstance()
       creating main window.
       main window created.
       creating final OpenGL context.
       UsingDummyWindow = false.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 1).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 7.
begin: Draw3DOpenGL::CreateContext(pixelFormat = 7).
end:   Draw3DOpenGL::CreateContext() return value = 0x00010000.
       final OpenGL context created.
       creating child windows.
       child windows created.
call:  MakeCurrent(hdc, glContext).
       MakeCurrent() successful.
call:  theOpenGL->Initialize().
       theOpenGL->Initialize() successful.
begin: Draw3DOpenGL::ReadExtensions()
       GL_MAX_TEXTURE_SIZE = 16384.
       OpenGL version = 4.4.
       GL_MAX_SAMPLES_EXT = 32.
       determining actual maxSamplesPerPixel (failures OK).
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 2).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 19.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 3).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 31.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 4).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 31.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 5).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 43.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 6).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 43.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 7).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 43.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 8 ).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 43.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 9).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 10).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 11).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 12).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 13).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 14).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 15).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 16).
end:   Draw3DOpenGL::ChoosePixelFormat() return value = 55.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 17).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 18).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 19).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 20).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 21).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 22).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 23).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 24).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 25).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 26).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 27).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 28).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 29).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 30).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 31).
FAIL:  nNumFormats = 0.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 32).
FAIL:  nNumFormats = 0.
       maxSamplesPerPixel = 16.
end:   Draw3DOpenGL::ReadExtensions()
call:  MakeCurrent(hdc, NULL).
end:   InitInstance().

If Anim8or won't run on your computer start it with -traceinit and post the results along with what OS you have, graphics card, compatibility mode you are using, etc. This will help me find the cause (I hope :) )

33
Check-out the PNG support in build 1118! I downloaded the latest source and, unlike my previous attempt, it all built and integrated smoothly. I know a lot of people will be happy to see this.

---- Note: I split the discussions on PNG from the main topic. Hope I didn't mess anything up too badly!

34
Ongoing Anim8or Development / Improved GLSL Lighting
« on: September 10, 2014, 10:34:34 pm »
As of build 1103, GLSL shaders support all 3 light types (directional, local, spotlight) and up to 8 lights.

35
Ongoing Anim8or Development / Anti-Aliased OpenGL Workspace
« on: September 10, 2014, 07:10:30 pm »
Here's an update that supports anti-aliased OpenGL in all the working windows:

animcl1103.zip

You enable it in the View->Preferences dialog in the "OpenGL Workspace" area, and then you need to exit and restart Anim8or for the change to take effect.  Give it a try and let me know what you think!

Note: If the "AntiAliased" check box is grayed out your graphics card doesn't support it.

36
Ongoing Anim8or Development / GLSL Shaders
« on: August 27, 2014, 06:11:31 pm »
Build 1097 adds support for OpenGL GLSL shaders.

Originally Anim8or used ARB fragment program assembly language shaders because many Anim8or users' graphics didn't support GLSL. Currently there shouldn't be any visible differences between the two shaders. GLSL is easier to write than assembly language and I will be improving the graphics. I'm toying with the idea of user written shaders of some form, either in ASL or graphically, but this is still a bit in the future.

Please let me know if you find any differences between GLSL and the ARB shaders (and of course any bugs that you find). You can toggle through shader types with the <Ctrl-B> key: GLSL -> ARB -> OpenGL Materials.

Note: there are slight differences in the shading between OpenGL Materials and the shader language because:
1) OpenGL Materials use vertex lighting and shaders use per-pixel lighting, and
2) Shaders use true Phong shading while OpenGL Materials use a half-angle reflection for specular hilights.

37
Ongoing Anim8or Development / Alignment Ruler
« on: April 18, 2014, 11:49:00 pm »
Alignment Ruler: The CAD ruler now has some preliminary alignment properties. You can align shapes along their top, center and bottom with the Alignment Ruler.
  • Make sure CAD mode is enabled.
  • Click on the Alignment Ruler to enable/disable alignment. This is the little arrow at the left or bottom of a view.
  • Click drag the ruler to move it; double click in and empty part of the lower or left-hand parts of a view to set an entirely new position.
  • If you have one shape selected, the ruler will snap to it's top/center/bottom when you are within the current Grid-Snap distance. The color will change from Blue to Yellow to indicate that it has snapped.
  • If you move a shape when the ruler is selected it will snap to the ruler in a similar manner.
  • The ruler only appears in the front, back, top, bottom, left and right views.
  • I'm working on point alignment for an upcoming release.

38
Ongoing Anim8or Development / Fast Selection
« on: April 18, 2014, 11:00:35 pm »
Fast Selection is enabled by default in the Object editor as of build 1086. This allows you to click on an unselected shape and immediately edit it, without changing to Select mode and back or using Control-Shift. It works for the Select, Move, Rotate, Scale and Non-Uniform Scale tools in the base Object editor. It is enabled by default but you can change back to the old behavior in the GUI dialog.

I've had portions of this ready for a while but couldn't decide on the details. I'm reluctant to change the behavior of something so fundamental to work flow but, as many of you have suggested, there are better ways to handle selection. I'm interested in your feedback on what you like and don't like about how I've implemented it and whether you want this enabled by default. So don't be shy about replying!

39
Ongoing Anim8or Development / General UI and Workflow Suggestions
« on: April 08, 2014, 05:48:04 am »
Post your general UI and workflow suggestions here:

40
You can now use the mouse wheel to zooms the graphic views in and out, and to scroll the material and left hand toolbar. You don't have to click in a particular area - it acts on whatever the mouse is over at the time.

In uniform scale mode the mouse wheel scales the object up and down.

In non-uniform scale mode it scales in the X direction if the left mouse button is pressed, and in the Y direction if the right button is pressed.

Note: There is a bug that causes the view to scale at the same time. I plan to fix that so that Anim8or only scales for these two tools.

Any feedback is welcome on what you like or don't like, or other suggestions for the mouse wheel.

41
Snap to Grid: Changed to snap to absolute locations [1.83 -->  2.00] instead of relative [1.83 -> 2.83].  Holding down the Shift key when you start the operation switched back to relative.

I changed the snap-to-grid setting to do something more intuitive/useful/expected. Before it was a mixture of behaviors depending on what tool you were using. However, as several people have pointed out, the original behavior is often useful as well. So it works like this:

Default: when you move a point, a component, etc. the value is immediately snapped to the nearest absolute value, defined by the grid's granularity. By default it is 1 so the coordinates move to the closest integral value. 1.23 --> 2.00 --> 3.00

Shift key pressed: values change by a multiple of the grid's granularity. 1.23 --> 2.23 --> 3.23.

I think I have converted most of the code in the Object editor to work this way. Let me know if you find anything that doesn't follow this rule.

And feel free to add your feedback as to what you like and don't like.

42
Ongoing Anim8or Development / Initial CAD-style feature
« on: March 26, 2014, 01:38:42 am »
Build 1075 introduces the initial step towards adding a few CAD-style feature to Anim8or. To enable it click on the new button in the top toolbar that looks like a little ruler, or type Ctrl-D. Then select a single item. Anim8or will show the minimum and maximum coordinates,horizontally and vertically, relative to that view.

Note: this only displays in non-perspective views, and is limited to the Object editor for now.

The next part I have planned is to add alignment tools.  You'll be able to click on the horizontal and vertical edges of the window to set "sticky" plains. When you move an item so that it's bottom, axis, or top is close to a plain it will align exactly, similar to how Align To Grid works.  Moving spline points, points in the point editor, etc. will do something similar.

There are a lot of other things that Anim8or could potentially do.  Feel free to post you feedback :)

43
ASL Scripts / New ASL features in development build 1071
« on: March 05, 2014, 11:18:15 pm »
I just posted an updated development build with a bunch of new ASL functionality.  Check it out and let me know what you think!

44
Ongoing Anim8or Development / ASL layer functions
« on: March 05, 2014, 11:04:05 pm »
There is a new int member layer in shapes that you can read and set.  It is silently clamped to between 0 and 7 if you assign a value out of range:

    int shape.layer;

Objects have new functions for accessing and setting layer properties:

    int object.IsLayerVisible(int layerNo);
    int object.IsLayerLocked(int layerNo);
    int object.ShowLayer(int layerNo, int ShowValue);
    int object.LockLayer(int layerNo, int Lockvalue);

LockLayer and ShowLayer lock and make visible the given layer when the second parameter is non-zero, respectively. They return the old value.

45
Ongoing Anim8or Development / ASL Quaternion Functionality
« on: March 05, 2014, 10:51:27 pm »
New quaternion functions:

    point3 QuaternionToRPY(quaternion);
    quaternion slerp(quaternion, quaternion, float);
    quaternion squad(quaternion, quaternion, quaternion, quaternion, float);

New quaternion operators:

    addition: Q + Q
    subtraction: Q - Q
    multiplication: Q * Q

Pages: 1 2 [3] 4 5