Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  


Ian Ross has just released a book on Anim8or. It's perect for a beginner and a good reference for experienced users. It contains detailed chapters on every aspect, with many examples. Get your own copy here: "Anim8or Tutorial Book"

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 - Claude

Pages: [1]
Anim8or v1.0 Discussion Forum / V1.0b small material bug
« on: October 22, 2017, 10:24:05 pm »
Create material one in object mode.
Create material two in file mode.
Create mesh.
Apply material one to a few faces.
Apply material two to a few different faces.
Material two appears on all faces.
I think the problem is that they both have
the default name material01.

General Anim8or Forum / Steve,a question about morph normals.
« on: January 29, 2014, 04:31:49 pm »
Hi Steve

I'm coding an  An8 Opengl Renderer and
I've started working on morph rendering.

It's going well.Interpolation is calculated exactly like it's shown in the graph editor.

The vertices are interpolated in the vertex shader and I was
planning to do the same for the normals as soon as morph normals would be available from the An8 file.

Code: [Select]
vec3 FinalMorphPos = Position;
vec3 FinalMorphNormal = Normal;
for (int i = 0 ; i < gNumMorphs ; i++) { 
FinalMorphPos += gMorphInterp[i] * MorphPosOffset[i];
FinalMorphNormal += gMorphInterp[i] * MorphNormalOffset[i];
FinalMorphNormal = normalize(FinalMorphNormal);

But,I then realized that moving vertices like morphing does, might change the smoothing state of some faces screwing the
interpolation calculation.Even would add or
substract normals.

So in Anim8or,do you use a special interpolation method or as I suspect,do you simply recalculate the normals for each frame ?



General Anim8or Forum / An8Render
« on: November 10, 2013, 08:55:50 pm »

After a few year pause, I'm starting to code again.
I'm learning Opengl 3.0 and 4.0.
Started by adding a function to An8lib to extract mesh data
in a form compatible with Opengl indexed VBO.
Wrote some Classes to render object using this data.
Now it supports:- diffuse,specular material  and specular power
                        - ambient,diffuse and specular factor
                        - diffuse texture
                        - ambient color = diffuse color(mat and tex)
                        - specular color = diffuse color(tex)
                        - 1 material / mesh
                        - 3 types of An8 lights.

Obviously ,I wrote a test program for these Classes and it
would be nice if a few of you guys would try it.

There's a few things, I find interresting to check:
   - small UI I've added allowing to change material properties on the run  for debugging purpose.
   - the rotoslider as a way to adjust UI input values.
   - when rotating the camera,the specular effect of the
     spotlight on the front face of the cube makes it looks
     like there's a hole in it.

To try the program,you need a video card supporting
OpenGl 3.3.To check your video card support,start Anim8or
and go to menu About/OpenGl Info.Please note the first 3 lines
if the OpenGl version is equal or higher than 3.3.

Run the program and let me know if it works or not.
Please also post OS and the OpenGl Info.

This will allow me to know if the program works well
compiled with static runtime library and using different videocard and OS.

Thanks for your help.



A few more info:

Click on the ? at the bottom left corner of the window for
help with the rotoslider.

Use the keyboard arrows to rotate the camera around the

There's 2 objects.The first one is made of 2 primitives.
The second one is the apollo-soyuz assembly and was added to show texture rendering.You can change model in the General UI.
Source of the apollo_soyuz_carbajal 3D model: NASA.

You can see the light setup in the An8 file.

ASL Scripts / PointBevel script testing.
« on: June 30, 2009, 11:28:48 am »
PointBevel script testing.

Here's a script,I worked on a few months ago.When I resume working
on it a few weeks from now,I would like to know what changes should
be made or if I should simply drop it.

 * The PointBevel script allows you to smooth,or "rounds off" a selected point
 * of a mesh.It adds an additional point on each edge connected to the original
 * point at equal distance,plus the necessary edges in order to create an angled
 * face and modify the existing ones.The distance is set at 25% of the smallest
 * connected edge size.
 * To be beveled,a point needs to be connected to a minimum of 3 faces and there
 * should be no hole around the point.
 * The newly created faces will end up selected at the script termination to
 * allow further manipulation.
 * The connected faces UV coords are not kept since since a remapped is needed.
 * The connected faces material are reset to default because of a bug in the
 * Anim8or scripting language.The code is there and will be activated as soon
 * as the bug is corrected.
 * The operation can be performed on multiple points and also multiple meshes
 * simultaneously.

I'm not sure if leaving faces selected is really useful since user might
be more interested in adjusting the size using the point slide tool.
In that case,leaving points selected wouldn't be useful since
the point slide tool is limited to 1 point at the time.

Would be nice if you could give it a try.Comments are welcome.
Bug report also.


ASL Scripts / Deleting and recreating faces.
« on: April 04, 2009, 08:10:59 pm »

Lets say you want to add a side to a few faces.
You have to store all the data of these faces:point indexes,material
indexes, etc, then delete the faces and finally recreate them.

The problem is that if you delete the last face using a material,
Anim8or removes the material from the material list.
The faces are all created,but some  end up transparent
since their material index points at a non existing material.

Would it be possible to let the responsability of cleaning up to the
script using the RemoveUnusedMaterials(void)
or the RemoveUnusedData(void) function ?


Small detail,the spec says:
"OpenFace() begins the definition of a new face.  It returns the index of the newly created face.  If an error occurs it returns 0 and no new face is added. "
It seems problematic that the error returns a valid index value 0 .

ASL Scripts / PointSplit script testing
« on: March 29, 2009, 11:43:57 pm »
More than a year ago,I worked on a split point or unweld point script.
At the time,I couldn't finish it because of ASL limitations.See this post:

Since,then Steve added the needed function,but I had lost the script
after a computer crash.(only one without back-up)
Finally,I decided to give it another try.

Not the most useful script,but still helpful in special cases,I think.

Would be nice if you could give it a try.Comments are welcome
especially about the new point locations.
I chose the actual one,because during testing it was easy to see the
result and also because it was easy to select the point when modelling.
Maybe,not moving it at all would be better.I'm not sure.

 * The PointSplit script allows you to split or if you prefer,unweld
 * a point.
 * If you have multiple faces sharing a point,select the point and
 * the faces you want to detach by spliting or unwelding the
 * point.
 * Run the script.
 * For each face,the new point will be moved at the center of 
 * the selected  point and the 2 two adjacent points of the face.
 * The operation can be performed on multiple points and also
 * multiple meshes simultaneously.
 * If you select 2 points sharing the same edge,the result may
 * vary depending on the order the points are processed.


ASL Scripts / Question about GetEdgeIndex() function.
« on: March 12, 2009, 02:56:21 pm »
GetEdgeIndex() returns the index of a particular edge in a face.  The value returned can be positive or negative.  If it is negative the edge is reversed when the face is viewed with the vertices in a clockwise orientation.

If you have 2 quads sharing 1 edge and the 2 quads are facing the same way,then the function should return different result for each quad for the shared edge.One should be positive the other negative.

I thought I could use this feature to define if 2 quads sharing an edge, were facing the same way,but I'm unable to obtain any negative result.
Is it because I misunderstand how it should work or the function doesn't
work properly?


ASL Scripts / ASL limited capacity for modeling script creation.
« on: January 14, 2008, 07:48:42 pm »

Not long ago,I wrote a triangulate script.In the actual
state of ASL,modifying a mesh that way is impossible.
In that particular case, it was easier to create a new mesh
anyway and it's what I did.But, it still is impossible to destroy
the original mesh and the pivot point data can't be copied.
I released the script anyway.

Then,I tried to write a split point script,prelude to other
script possibly like bevel point.In such a case,we should
be able to modify the original mesh not create a new one
and I thought it would be possible since at first look,there
was no need to remove faces,add or remove edges,but still the
ASL limitation showed up.

See the original mesh with 1 point selected
and  the result when the script is ran.

Point is split and we're left with an orphan edge because
even if you reorganize a mesh no edge is deleted.

I'm sure you're aware of the situation and I was wondering
if you intended to allow more flexibility in the future
or if the limitations were there to stay?

Also,if you know,what are your plans for ASL?All the other
parts(figure,sequence and scene), will they be part of a big
release or will they come in installements?Part of preview
or a full version?
Any thoughts on ASL future would be nice to read.


Pages: [1]