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...
Type: Posts; User: Min; Keyword(s):
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...
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:
gl.MatrixMode( gl.PROJECTION )
gl.LoadIdentity()
gl.Ortho(...
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...
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...
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.
Actually, I wrote that part of the old object. The feature...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
This extension can render 3D sprites that always face the camera. The sprites can be animated and have any number of directions.
Use this thread for suggestions and general discussion of the 3D...
Download
Included extensions
- OpenGL 3D Sprites
- OpenGL Base
- OpenGL Camera
- OpenGL Clear Control
- OpenGL Lighting ( Advanced )
- OpenGL MS3D
- OpenGL Texture Bank
Thank you Jamie! (:
About sprite sheets, there is another problem too to do with texture coordinate precision, where in certain cases you would see a sliver of neighbouring frames. I think the...
Download
Update!
- The External Texture object can now load images from Actives, Overlays and Surface objects.
- The 3D Sprite object has a new more efficient way to set texture handles for...
The outline problem arises from the interpolation between a transparent texel and neighbouring texels. Because both colour and alpha values are interpolated the semitransparent fragments will fade...
It's the same for 3D objects. However if you use the MS3D or 3D Sprites extensions they automatically handle this for you.
When working with alpha blending make sure you draw all opaque polygons first, then draw the ones with translucent parts. If you want the translucent polygons to blend together correctly you also...
You don't have to apologise for anything Atom, as long as there is no OpenGL subforum this thread is the place where one would naturally post questions about things related to the objects, don't...
Perhaps a subforum dedicated to the OpenGL objects would solve things like this. Unfortunately I'm too shy to ask the admins to make one. :blush:
Download 1.1
Fixed a bug that allowed for collision with only one type of object at a time.
Download
Lets you create custom movements with up to 360 directions. Works in a similar fashion as the Platform Movement Object.
Do the other examples work? Do you have an old video card? It might be that it doesn't support VBO's. VBO's are a way of sending vertex data to the video card, I'm using them in the MS3D and 3D...
That's strange, it is supposed to display and animate the images in the Texture bank. Is the MS3D and 3D sprite examples that come with the collection working for you?
I've updated the example to use 2 directions, works like a charm. Updated example
You can have any number of directions, so if you feel like drawing frames for 360 different directions, then there is no problem. :P
Here is a simple example of how to animate an object while a...
Thank you guys. ^^
@Looki:
No worries. About depth sorting: it only makes a difference if there are any translucent sprites. If you change the transparency of the objects in the example (...
Download
Update!
- New 3D sprite extension ( with example. )
- Fixed a bug with the transparent colour of imported images in the Texture Bank extension.
- Fixed a problem with transparent...
Maybe, but reading all vertices of a model through expressions will be dreadfully slow. What would it be used for?
Download
MS3D extension:
- Added actions and expressions to get/set texture coordinate offset for materials, this is useful for things like running water.
- Fixed a nasty bug in the Remove...
Try removing gl.LoadIdentity() from the Draw function.
@Atom: It isn't an optimal but it works if you just need a simple scene.
@LB: It is the latest extension in the OpenGL collection and can load and render MilkShape 3D models. We are replying with...
Download
Added show/hide group actions to the MS3D extension!
Ah, you are trying to use a texture name as the material name. Use the "Material->Texture handle..." action instead, with material name "Head" and the texture handle of the desired texture.
"Set group material" works fine for me, are you sure you entered correct group and material names? They are case sensitive. If you just wish to change the texture of a material use the...
No bug, this is because the image data of an active object is shared among all its instances. Probably to save space.
Download
MS3D animation loopcount fixed!
I have run into a problem with the mvAddBackdrop function in the MMF SDK, when I call it all the transparent pixels of the added backdrop appear black. It doesn't seem to matter what ink effect I...
@Gibbon:
What the OpenGL Base extension does is it creates an OpenGL compatible window, if any OpenGL function is called by any extension it will affect the OpenGL Base window. Think of it as a...
Oh, I thought you were trying to use FBOs through Lua.
I understand some of the Lua OpenGL bindings differ a bit from their OpenGL API counterparts, I don't know which ones and how they differ...
I'd say the majority of MMF users don't know Lua, not to mention the OpenGL API. OpenGL interaction through Lua is for you more advanced users. ;)
You should be able to render to textures loaded...
FBO support should be possible, but I have no plans to add it atm. The next extensions I'll be focusing on are a HUD extension and a 3D sprite extension. And of course the MS3D extension is not 100%...
Biturn supposedly can convert both OBJ and 3DS to MS3D. I haven't tried it but it might be worth checking out.
If you google you should also be able to find MS3D export scripts for both 3D Studio...
When you create a new object, pass the ID of the new object to your Lua script and store it along with the rest of your object data ( position, rotation and the whatnot. ) Now when you need to update...
Download
Includes a new extension that can be used to load and render MilkShape 3D models ( MS3D format. ) This means there is finally a way to draw stuff without using .net or Lua. ;) An example...
It is known. The Base is its own window so it blocks that part of the MMF frame from mouse interaction. It's the same with other window controls like the Button object. You can get around this by...
If you are using the Texture External extension make sure that the last parameter of your Load texture actions is 0.
Do you have the latest version of XLua? I just noticed there are newer versions of XLua than the one I have, so I might have to update the examples in case they have broken.
Are you using the old OpenGL Object? It has been discontinued and is being replaced by the OpenGL Collection.
The collection is still incomplete, at present, XLua or the .net Script Object are...
Download
Added mipmap support to the Texture Bank and Texture External extensions.
I'm working on implementing mipmapping into the Texture Bank extension as we speak. ;)
Download
New release!
- Fixed a bug in the Texture Bank extension to do with alpha channels.
- A new extension for loading textures from external image files. ( Which needs a better icon btw....
Yeah that is what im thinking, if it's causing problems don't let it hold things up because you can just preview via the runtime always so maybe just remove it even. I couldn't see it but i could see...
What the older OpenGL object did to draw into the MMF frame was to first render into a hidden window and then copying the data of the pixel buffer to a cSurface ( I cannot come up with a good...
Yes. ;)
I hope I can solve the preview bug soon so I can release the new and fixed texture extensions.
The preview problem persists, I need some help with this. It's a pain to debug since it works fine on my own computer. I've got a friend whom it does not work for and I'm having him test it ( poor...
Cool that sounds great, why not just make it part of the current Texture Bank though?[/quote]
Externally loaded textures are handled a bit differently from how the textures in the bank are handled,...
A little update on what I'm doing at the moment. I'm still having trouble solving the Texture Bank preview problem that some people are experiencing. In the meantime I've made an extension that can...
Could any of you post or pm me a screen shot?
Edit: No need, got one now!
Is the preview frame simply grey or does it display a chequered pattern?
Great update!
First the Vector Math object and then this update, you're one busy bee! ;)
XLua examples updated to work with the new version of XLua.
Download
On another note, is the little preview frame in the Texture Bank object working for everyone? I think I remember someone...
Of course XLua and .net support will stay. No need to worry. ;)
The code looks ok, did you replace the base object ( removed it and inserted a new )? The latest build of the base object is not compatible with previous builds, so you may need to do that.
Your intuition is pretty much spot on. ;)
I think I've made a slight error in the lua code in the textured quad example, and I was so sure I had checked that all examples work.
Atom: About the...
Download
Includes the latest ( beta ) versions of:
- OpenGL Base
- OpenGL Camera
- OpenGL Clear Control
- OpenGL Lighting ( Advanced )
- OpenGL Texture Bank
Added v-sync option for the...
Just to clear up a bit of confusion, I'm not going to make an md2 extension myself ( I might make an ms3d extension but I'm not promising anything ) so this is great! ;)
I hope this explains it a bit better:
http://img35.imageshack.us/img35/913/thinwalls.th.jpg
Great extension! I have a request, if it's not too much trouble, could you add an option to not allow any "thin walls"?
Example of what I mean by "thin walls":
+------+
| |
| ---+ |
|...
Oh, found the cause of that problem too, in Backwards(), change
if frame <= 0 then
to
if frame < 0 then
In the Backwards() function, change the line
frame = numTextures
to
frame = numTextures - 1
The texture indices are 0-based which means the first texture will have index 0 and the last will...
OpenGL - Texture Bank object ( beta 02 )
Two bug fixes:
- Load all textures and Unload all textures stopped if one of the textures was already loaded ( or unloaded in the second case. )
- On...
Seems like the .net example problem is due to the .net object not being able to locate the .dll. <-- Min stating the obvious.
It's a long shot but try placing the .dll in the MMF folder and the...
Atom: The latest base object build is not compatible with earlier builds, try copying the Lua code from your example and past it into the new additive blending example, it should work then.
All...
The texture bank object is meant to replace the original texture object, I won't continue working on the original object ( unless there is demand for it. ) I'd recommend you remove it.
Good idea,...
Simply enable depth testing using gl.Enable() and make sure to clear the depth buffer along with the color buffer at the top of the Draw function in the Lua script.
OpenGL - Base object ( beta 04 )
A minor redesign. The new On redraw condition is triggered whenever the OpenGL window needs to be redrawn. This build breaks compatibility with previous versions.
...
Well of course.
Going to answer a couple of questions.
Yes, I'm just waiting a bit to make sure there are no bug in the last beta before I release it.
Hopefully this is possible, I'm looking into it.
I...
If it is black it means the OpenGL window was created successfully, the problem might be in the example code. Some things you can try to do are:
- Open the .net script editor ( double click the...
Dragonguy, do you have the same problem with every example? Do all XLua examples crash and do all .net examples show nothing? How do the .net examples look, is the top left part of the window ( where...
Thank you for the offer guys, something that would help me a lot is a model loader/displayer extension of some sort, I hope to make an object with a built in model editor sometime in the future, but...
While waiting to make sure no more bugs appear in the Base object, I started working on this: OpenGL Texture object ( beta 01 )
Ah, so the EditAnimationParams structure is updated by the by the mvEditAnimation ( looking at the help file again I see it actually says that, and of course I managed to miss it while looking right...
Looking through the SDK help file, in the parts regarding mvEditAnimation and mvEditImage it refers to "a list of images contained in the application image bank". Is there anyone who could give me...
OpenGL - Base object ( public beta 03 )
Minor update, removed a dependency to a non-system dll ( this results in a bigger extension file size though. ) Also included a new additive blending...
OpenGL - Base object ( public beta 02 )
A small change to how the window handles redrawing when it has been covered by another window or the application window is resizing ( Enable 'Run while...
@Looki: Nice example!
@xyzzy: It's pretty safe to say the problem is not in the extension then. It could still be something in the script, maybe your video card need the buffer to be cleared once...
Here is the little test app I was talking about ( it's only 12kb in size. ) This is for the people who have trouble with the motion blur example!
The program works like this: first you get a...
But how can I be sure it is stable if it isn't tested? Since the extension is hardware dependant I need it to be tested on many different computers, hence the public beta. I understand people want...
As long as using OpenGL doesn't present any problems it shouldn't matter much. Once I get to the other co-extensions you wont even have to worry about working with gl calls as that will be done under...
What happens if you change Accum bits to 64? You can try other numbers as well, like 24 or 48.
Edit: To see how many accum bits you got when the window was created ( this may be different from the...
@Looki: Let's pretend that's what I said. ;P
@Fanotherpg: Yes, the Irrlicht objects got it right from the start, couldn't help but following that. ;) I've never worked with DirectX, I feel...
@Looki: I think I found the solution , try adding gl.Flush() to the end of the script. The GL commands just sits in the command buffer, never knowing when to actually execute. ;) If gl.Flush()...
@Retriever: They have 'Auto swap buffers' enabled through actions. This is a small change from the private beta you have, if you haven't replaced the object then those actions might not appear. Sorry...
Thank you. :D Let me know if there is anything missing in the Base object that is needed for things like shaders, you probably have a lot more knowledge about that stuff then I have.
About the...
Here we go again. ;)
OpenGL Base object ( public beta 01 )
This is the first in what I hope to be a collection of extensions intended to replace the old OpenGL object that was made by Looki and...
ResEdit won't let me create a new .rc file in my project folder unless I agree to overwrite the existing resources.h file.
Anyway, I figured out how to get the icon.
(HICON)GetClassLongPtr(...
Ah, thank you, that did the trick! :)
I'm trying ResEdit now but it gives me error messages when I try to open Ext.rc. I like hand coding stuff so that's fine with me, is there any problem with...
screenX = ( X - cameraX ) * ( dist / Z ) + screenCenterX
screenY = ( Y - cameraY ) * ( dist / Z ) + screenCenterY
is what I meant, set dist ( not the same as cameraZ which is 0 in this equation )...
I'm trying to make a custom parameter type for an extension I'm working on. Since I use VC++ 2008 Express and it doesn't have a resource editor I'm not going to bother trying to use the DialogBox...
It will be an extension, or rather, several extensions that work together. I aim for the ease of use of the Klik3D widget but with the flexibility of OpenGL, and most importantly, making it much more...
I should mention that I no longer provide support for the Klik3D widget. I'm working on a much better alternative. ;) ( Might take a while though. )
That is my intention. And anyone is welcome to make their own additional extensions. *hint* ;)
Of course!
The general idea I have is to have a base object that only serves as a window to draw...
I don't think my For Each Loop extension is going to be anything like the For Each Object in the Bidding Pool ( I never quite got how that one is supposed to work either. ) The one I'm working on is...
You could help me test the extension I'm currently working on. ;) (It's a For Each Loop object.) I want to get it done before I start looking at the OpenGL object.
Original author here. I'm thinking of taking up working on the OpenGL object again, redesign it from the ground up to be more precise. If Looki is ok with it.
This object allows you to pack several smaller values into one 32 bit variable and retrieve them. You can also set/clear/toggle individual bits.
Download link
Conditions:
- Is a specific bit...