I'm the developer of the OpenGL collection extensions. I removed the extensions from my own webspace since they weren't complete and I had stopped working on them. However, it seems people like them and find them useful so you have my permission to distribute them if you want to, just be sure to state that they have been discontinued.
Posts by Min
Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
-
-
Again, use luagl, it is not hard to make a hud using it.
After you are done rendering your 3d scene switch to orthogonal projection:
Codegl.MatrixMode( gl.PROJECTION ) gl.LoadIdentity() gl.Ortho( 0, width, height, 0, 0, 1 ) -- Width and height of the OpenGL window gl.MatrixMode( gl.MODELVIEW ) gl.LoadIdentity()
Then render your hud using quads.If you have trouble you could ask someone to make an example for you. ( I can't make one though, I don't have MMF2 on my computer. )
-
You have to update the viewport as well, you have to use luagl for this:
gl.Viewport( x, y, width, height )
You want to set x and y to zero and set width and height to the new window size.
-
"Joint>Attach object..." is a dummy action, it doesn't do anything. It is one of the things I never implemented.
-
I put a lot of work into making these extensions and the majority of them are stable enough, the 3D sprite and Milkshape 3D extensions being the exceptions, so I'll keep them available.
As for the source, I won't release it publicly, but if any of you developers are interested in it send me a pm.
-
I'm dropping this project for personal reasons. I apologize for any inconvenience this might cause.
-
Your model stores the full path of the texture, making the RequestedTexture$ expression return not only the name of the file but the whole path. In MilkShape when you set a texture you will want to have that texture in the same directory as the model file so that MilkShape won't need the full path to find it.
-
Quote
I am guessing you know i want this already but suggestions for base would be to allow it to draw under other things like MMF layers and surface object etc. The new surface object import to texture could possibly be used to workaround this though but i haven't had time to test this just yet.
I have plans for a HUD extension, it wont be as flexible as having MMF objects on top of the Base window but it will be a lot faster.
QuoteAnother thing that would be useful is to be able to use a transparent clear color so you could have a model over a transparent background. The older object by looki could do this so maybe he would give you the code or something. Maybe this can be done already through lua code etc also although i have yet to work out how but maybe someone knows if you can.
Actually, I wrote that part of the old object. The feature needed "display above frame" disabled, which had some issues I haven't been able to solve, hence why these features are missing from the Base object.
QuoteSince you mentioned it i am just wondering is there a example of base being used with python?
Not yet, unfortunately I don't know the Python language but I know there is an external library of OpenGL bindings for Python. Hopefully someone who knows Python could whip up an example or two.
QuoteAlso i noticed in a recent version i downloaded .net examples are gone so i am am just wondering why as i have some from a previous zip.
This is because the .net Script object seems to sometimes be unable to locate the required dll to use OpenGL. As this is a problem with either the .net Script object or the dll in question and not with the OpenGL Collection I've chosen to remove those examples.
-
An .obj model extension is definitely a possibility, but I have a couple of other things I want to finish first.
-
If you are only using one light source ( the spotlight ) you could call the Apply Lights action only once at start and not on redraw, this way it won't be affected by camera transformation and will appear to follow the camera. However, if you need other light sources that shouldn't follow the camera you must manually set the position and direction of the spotlight to that of the camera. Setting the position is simple enough but the direction is trickier. If you only rotate the camera about the y axis ( camera yaw ) then you can set spotlight direction to: X = sin( yaw ), Y = 0, Z = cos( yaw ). Or perhaps it was X = -sin( yaw ), I'm not sure.
-
First when you set up a new sprite ( using the Sprite>New Sprite... action ) you specify the number of directions and the number of animation frames per direction. The total number of frames will be the number of animation frames times the number of directions. Let's say you set up a new sprite with 4 directions and 2 animation frames per direction, the first two requested texture handles would be for the two animation frames for dir 0 ( facing right ), the next two requests will be for the animation frames of dir 1 ( facing camera ) and so on.
When you have created a new object ( Objects>Add Object... ) with the sprite you just set up you can animate it by simply calling the Object>Animation>Start... action. Important to note is that when the Animation Speed parameter is set to 1.0 the current animation frame will be updated each MMF frame loop. That is very fast so a more useful value would be somewhere between 0.0 and 1.0.
Let me know if anything is unclear.
-
I see your point, perhaps the best solution would be to have an option to automatically scale image height/width to the nearest power of two, since that wouldn't mess up texture repeating ( also no need for original width/height expressions. ) I'll add it to my todo list! (:
-
This is very much possible, but isn't it quite easy to manually pad using an image editing tool?
-
It certainly would be useful. I think it would be a big project though, the format seems quite complex. It would be interesting if another extension developer would like to tackle it, I think it is out of my league.
-
The Texture Bank and Texture External extensions can load textures to be used by other OpenGL extensions. The Texture Bank can store a number of images that can be loaded as textures at any time. The Texture External extension can load textures from image files or from other objects such as Actives, Overlays and Surface objects.
Use this thread for suggestions and general discussion of the Texture extensions.
-
This extension can load and render 3D models in the MilkShape 3D model format. You can control position, orientation, animation and material properties of models. This object do several useful things for you like depth sorting of translucent models and view culling.
Use this thread for suggestions and general discussion of the MS3D extension.
-
I call this extension Lighting ( Advanced ) because I'm thinking of also making a simplified version, since you often only use positional and directional lights and only use the diffuse property of a light's colour.
-
This extension can set up up to eight individual light sources. There are three different types of light sources; positional, directional and spotlight. There are several parameters for each light, e.g. colour, cutoff and attenuation.
Use this thread for suggestions and general discussion of the Lighting extension.
-
This extension can set up a perspective view for rendering a 3D scene. You can control the position, orientation and field of vision of the camera.
Use this thread for suggestions and general discussion of the Camera extension.
-
This extension is the core of the OpenGL Collection. It can create an OpenGL compatible window in the MMF frame which the other OpenGL extensions can render to. It is also possible to render to the Base window using external OpenGL libraries for the XLua, Python and .net Script objects.
Use this thread for suggestions and general discussion of the Base extension.