Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

11991 Posts in 1587 Topics- by 3509 Members - Latest Member: lioneltenel

27. May 2012, 03:49:58 am
Xith3D CommunityGeneral CategoryNews (Moderators: Marvin Fröhlich, 'n ddrylliog)API changes - update hints
Pages: 1 ... 5 6 [7]
Print
Author Topic: API changes - update hints  (Read 29004 times)
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #90 on: 30. May 2008, 03:54:12 pm »

I have removed the Animatable interface from the Model class. The animation is automatically updated by the Renderer, if and only if the Model is (partially) inside the frustum.

The only change, this means for you is, that you don't have to (and cannot) add the model to an animator through addAnimatableObject().

You can still stop any animation on the mode by invoking myModel.stopAnimation().

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #91 on: 28. June 2008, 09:44:32 pm »

I have refactored the GLSLShaderProgram code to GLSL ShaderProgram, GLSLShaderProgramProgram and GLSLShaderProgramParameters. This makes it possible to reuse the same GLSLShaderProgram with different parameters for different shapes.

If anyone has a better idea for the naming scheme, please tell me Smiley.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #92 on: 02. July 2008, 08:36:30 pm »

I have renamed the shader program classes as discussed here.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #93 on: 21. July 2008, 10:54:29 pm »

Here is a list of my latest changes. I hope, I didn't forget some of them.

  • All the enums for the Appearance parameters have been moved to JAGaToo to make them usable in abstractions (like for my model loader changes).
  • The texture filters now work in a much simpler way. You don't have to define Mag-/Min-filters by names, that nobody understands, but there's just one TextureFilter with simple and well known names like POINT, BILINEAR, TRILINEAR and ANISOTROPIC
  • The RenderOptions were implemented unnecessarily complicated. The new implementation is much simpler, faster and easier to understand. There are no Option.XXXXX fields, but simple setters/getters in the RenderOptions class.

On a side note the whole rendering is potentially faster by 5% Smiley.

Marvin
« Last Edit: 21. July 2008, 10:56:41 pm by Marvin Fröhlich » Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #94 on: 31. July 2008, 12:42:50 pm »

I have added an onMouseButtonClicked event to the mouse-part of the InputSystem. Therefore the listener has an appropriate new method. Of course this won't affect you at all, if you're using any kind of adapter class (like MouseAdapter, InputAdapter or ListeningInputHandler) instead of the listener interfaces.

To control the click-collection-threshold you can use the setClickThreshold() method in InputSystem.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #95 on: 07. August 2008, 01:31:40 pm »

I have moved the Texture- and TextureImage-inner-enums to standalone-enums in org.jagatoo.opengl.enums.

To port to the changed API you just have to change references of Texture.Format to TextureFormat, Texture.Type to TextureType and TextureImage.Format to TextureImageFormat.

Marvin
Logged
Mathias 'cylab' Henze
Fierce Warrior
****
Offline Offline

Posts: 540

1064620
View Profile WWW
« Reply #96 on: 07. August 2008, 02:42:35 pm »

Wouldn't putting them in the same package as their using classes be better? I feel, that it is not a logical grouping to put them in a generic package named "enums", since you loose the information of the purpose of the types in that package.
Logged

Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #97 on: 07. August 2008, 02:48:18 pm »

Wouldn't putting them in the same package as their using classes be better? I feel, that it is not a logical grouping to put them in a generic package named "enums", since you loose the information of the purpose of the types in that package.

Well, other enums of that type are already there. And these enums don't directly belong to the texture loader, but to the texture itself. I was unsure. But I think, this is the best solution. And when these enums are requested as a parameter, you will have no problem identifying them. Most prople won't even notice, where they are defined in.

Marvin

PS: Please don't reply to this thread in the future. It is locked for a reason. Discussions should not take place here, but in a different thread.
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #98 on: 24. September 2008, 10:35:41 pm »

I have moved the vecmath2.doubles implementations into the vecmath2 package.

This change will NOT affect any Xith3D application. But if you're using the double-implementations for some reason, it affects your code. Just fix the imports and you're through.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #99 on: 06. October 2008, 10:18:26 pm »

I have moved the LoadingScreenUpdater interface from the hud package to the resources package, since this is where it actually belongs to.

Additionally I have modified its behavior, so that it doesn't take the absolute progress values for certain update() calls anymore, but just the incremental values. This is much easier to use and avoids some problems.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #100 on: 22. February 2009, 12:52:32 am »

I have simplified the class hierarchy of Geometries. Before this change you had to do nasty casts to access/modify geometry data from Geometry instances. Now you don't have to do this cast, since all necessary methods are available directly through the Geometry class.

In 99% of your code this won't affect you. But if it does, your code should become a lot simpler.

If you stumble across something like this, you can fix your code by simply replacing GeometryArray or GeomContainer by Geometry and remove most of the casts.

Please tell me, if you have any problems with this change.

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #101 on: 27. February 2009, 10:47:54 pm »

I have changed the HUDPickMissedListener to be fired for any mouse event (not just button events). To keep the same beavior as before you just need to add the following two lines to your HUDPickMissedListener implementation:
Code:
if ( ( pickReason != HUDPickReason.BUTTON_PRESSED ) && ( pickReason != HUDPickReason.BUTTON_RELEASED ) )
    return;

Marvin
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #102 on: 23. May 2009, 12:08:45 am »

The new HUD reimplementation is ready. Please read this thread for information.

As for API changes:

I have drastically reduced the number of contructors for all widgets. Many widgets had an enourmous amount of contructors, which was pretty nice, when the correct contructor was once found. But it wasn't easy to find the correct one. so this should simplify your life a bit.

Al Borders aren't widgets anymore. But thes are still simply attached to widgets the same way (all widgets can have a border now). All borders are in the org.xith3d.ui.hud.borders package now.

The FPSCounter has been moved to the org.xith3d.ui.hud.widgets package.

There is no TextList widget anymore. Use List.newTextList() instead.

The Panel widget doesn't have a background ba default anymore. To create a Panel with the default background of a content pane use the Panel.createContentPane() method.

There is no ScrollPane anymore. Create a ScrollPanel instead. It is a Panel. So you don't need to put another Panel into it.

The setLower() and setUpper() methods of the Scrollbar and Slider widgets are renamed to setMinValue() and setMaxValue() (getters appropriately). There are additional convenience methods: setMinAndMaxValue(), setMinMaxAndValue()

The setBackground() method, that took either a color or a texture are renamed to setBackgroundColor() and setBackgroundTexture(). There is a convenience method setBackground(), that takes both of them at once. And there is an additional convenience method setNoBackground() to remove background color and texture.

The StateButton doesn't use a state enum anymore. States are simply handled as booleans.

Borders and paddings are defined in pixels always.

The ButtonListener takes an AbstractButton now.

the internal class hierarchy is completely different. So if you have implemented your own widget and didn't extend one of the major widgets from the org.xith3d.ui.hud.widgets package, please tell me and I will help you.

There is no NumberLabel or DynamicLabel anymore, since the way, a Label widget is rendered, is simply the fastest way.

You cannot directly add a widget to the HUD anymore. Use hud.getContentPane().addWidget() instead. Window Widgets are still added directly to the HUD through the hud.addWindow() methods.

Marvin
« Last Edit: 23. May 2009, 12:17:19 am by Marvin Fröhlich » Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #103 on: 23. May 2009, 12:11:00 am »

I have removed the media.jar and hud_themes.jar from the repository. The contents are now in a separate source folder (already completely setup for eclipse). These resources will be compiled right into the xith3d.jar in a release. So you don't have to worry about these files or the media.jar or hud_themes.jar anymore.

Marvin
Logged
Agrv
Administrator
Enjoying the stay
*****
Offline Offline

Posts: 64


View Profile
« Reply #104 on: 31. October 2010, 10:09:08 am »

I forgot to notify here that LWJGL is now the default OpenGLLayer in SVN. This is not a real API change but still worth mentioning.
Logged
Pages: 1 ... 5 6 [7]
Print
Jump to:  

Theme orange-lt created by panic