Jump to content

Au3Irrlicht 2.0


JRowe
 Share

Recommended Posts

I have been trying different settings in sketchup, but no success. It will do transparent faces as transparent, but not with color. I am going to ask around on the sketchup forum.

Slightly unrelated, but how do you change the speed that the camera moves? I find that i keep flying through my model because the camera is too fast

0x616e2069646561206973206c696b652061206d616e20776974686f7574206120626f64792c20746f206669676874206f6e6520697320746f206e657665722077696e2e2e2e2e

Link to comment
Share on other sites

I did myself a quick&dirty definition file for scite to have more comfort (code completion + user call tips) using JRowe's nice new UDF. If there are others also lazy but not knowing how to do this themselves:

Use in scite Tools > UserCallTipEntries and add content of attached definition file.

Edit: File removed - it's now included in the examples package (see later post).

Also a question: had anybody success with "_IrrAddSkyDomeToScene"? Skybox is working fine for me, but Skydome did nothing. No skydome nor error. Syntax of UDF definition looks ok for me (same as in the original + working freeBasic wrapper). So I have definetly no idea what could be wrong?

Edited by linus
Link to comment
Share on other sites

horizontal_res as uinteger, vertical_res as uinteger

$result = DllCall($_irrDll, "ptr:cdecl", "IrrAddSkyDomeToScene", "ptr", $h_Texture, "int", $i_HorizontalRes, "int", $i_VerticalRes...

@JRowe In udf they r defined as "int" and probably need to change to "uint" (i too have problems to make it work :mellow: )?!!

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 
Link to comment
Share on other sites

horizontal_res as uinteger, vertical_res as uinteger

$result = DllCall($_irrDll, "ptr:cdecl", "IrrAddSkyDomeToScene", "ptr", $h_Texture, "int", $i_HorizontalRes, "int", $i_VerticalRes...

@JRowe In udf they r defined as "int" and probably need to change to "uint" (i too have problems to make it work :P )?!!

... was too blind - that's it! Also the last param is wrong - not float but double. So the complete + working thing for the UDF is

Func _IrrAddSkyDomeToScene($h_Texture, $i_HorizontalRes, $i_VerticalRes, $d_TexturePercent, $d_SpherePercent, $d_SphereRadius)
    $result = DllCall($_irrDll, "ptr:cdecl", "IrrAddSkyDomeToScene", "ptr", $h_Texture, "uint", $i_HorizontalRes, "uint", $i_VerticalRes, "double", $d_TexturePercent, "double", $d_SpherePercent, "double", $d_SphereRadius)
    Return $result[0]
EndFunc   ;==>_IrrAddSkyDomeToScene

Hope JRowe is logging + merging those fixes :mellow:

Addon:

Fix for _IrrAddHillPlaneMesh (current definition causes problems when using more than one hillPlane in a script because of wrong passed string for mesh name). Working def is:

Func _IrrAddHillPlaneMesh($s_Name, $f_TileSizeX, $f_TileSizeY, $i_TileCountX, $i_TileCountY, $h_Material = 0, $f_HillHeight = 0, $f_CountHillsX = 0, $f_CountHillsY = 0, $f_TextureRepeatCountX = 1, $f_TextureRepeatCountY = 1)
    $result = DllCall($_irrDll, "ptr:cdecl", "IrrAddHillPlaneMesh", "str", $s_Name, "float", $f_TileSizeX, "float", $f_TileSizeY, "int", $i_TileCountX, "int", $i_TileCountY, "ptr", $h_Material, "float", $f_HillHeight ,"float", $f_CountHillsX, "float", $f_CountHillsY, "float", $f_TextureRepeatCountX, "float", $f_TextureRepeatCountY)
    Return $result[0]
EndFunc   ;==>_IrrAddHillPlaneMesh
Edited by linus
Link to comment
Share on other sites

Slightly unrelated, but how do you change the speed that the camera moves? I find that i keep flying through my model because the camera is too fast

If your refering to Maya Camera the last parametar is speed

irr_camera = IrrAddMayaCamera ( parent as irr_node, rotateSpeed as single, zoomSpeed as single, moveSpeed as single )

_IrrAddMayaCamera( , 100.0, 100.0, 100.0)

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 
Link to comment
Share on other sites

... still playing around with Au3Irrlicht 2.0, I'll found and fixed some more problems in my local UDF:

_IrrHideMouse() + _IrrShowMouse(),

_IrrSetCameraClipDistance (not working because of missing param),

_IrrAddChildToParent (wrong param order).

If I am not wrong, also functions using byReference calls are not working - e.g. _IrrGetNodePosition() returns always '0' values.

This rewritten version works for me:

Func _IrrGetNodePosition($h_Node, ByRef $a_Vector3df)
    Dim $a_Vector3df[3]
    $result = DllCall($_irrDll, "none:cdecl", "IrrGetNodePosition", "ptr", $h_Node, "float*", $a_Vector3df[0], "float*", $a_Vector3df[1], "float*", $a_Vector3df[2])
    if @error Then
        Return Seterror(1,0,False)
    Else
        $a_Vector3df[0] = $result[2]
        $a_Vector3df[1] = $result[3]
        $a_Vector3df[2] = $result[4]
        Return True
    EndIf
EndFunc   ;==>_IrrGetNodePosition

I guess some other get-functions could/should be reworked this way.

Unfortunately JRowe seems to be currently "inactive" - Maybe holidays, busy in job, or bought a VW :mellow:

A little bit unsure how to continue without coordination of JRowe. This promising project should become stable + useable - but in common! I definetly don't want to end up in a separate + private branch of JRowe's excellent work.

Opinions?

Edited by linus
Link to comment
Share on other sites

Sorry about the inactivity, this is a fun time for me. I've been doing a lot of work and moving into a new office. I'll get my act together and get a new release out by wednesday - I'll also set up a Google code page for myself and anyone who wants to contribute.

On the plus side of things, there are a bunch of new features to be added. :mellow:

Link to comment
Share on other sites

Hello JRowe, no VW but work - that's what I thought, so au3I2.0 will continue. Nice to see you back! Goggle code page is a nice + good idea, maybe I can give a helping hand. Not too deep, but I think there is still a lot to do (fixing definitions, converting all the freeBasic demos ...)?

Don't know if my modified au3irrlicht.au3 is helpful for you (winMerging)?

Link to comment
Share on other sites

I really wish I knew more to help with the project :mellow:, but if I may make a suggestion (when it comes time to do it)

If a help file is made, cut the examples to just the function and bare necessities. The original help was hard to follow because most of the examples had the same code (and a full script) and since some functions I was able to work out (with help) adding a specific function became confusing trying to figure out just the parts that were needed for that.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

If a help file is made, cut the examples to just the function and bare necessities. The original help was hard to follow because most of the examples had the same code (and a full script) and since some functions I was able to work out (with help) adding a specific function became confusing trying to figure out just the parts that were needed for that.

A helpfile is definetly a nice idea, but at current status of the project too soon to think about (nevertheless, if anybody has some info and/or link how the au3 help is done? ) ...

But converted examples should also help you out - the original freeBasic demos are very nice to follow, and when you can try them directly in au3 it should give you everything to work yourself into the features + usage of the irrlicht engine.

I am working on a conversion (36 50 demos are done 'til now, hooray :blink:), keeping all the very helpful comments + explanations of the original demos.

Edit: To give anybody interested an overview what is already possible with au3irrlicht2, I attach what I have until now. The .zip includes working demos, original + modified UDF, an updated usercalltips.api and the msvcp71.dll not included in the wrapper. More info in the included 00_examples_readme.txt.

!!Please note: this is work in progress and moreover, some kind of a private branch (which I hope can be merged into next "oficial" release)!!

Edit2: Example package V0.1 removed. See updated V0.2 in later post.

As jRowe is setting up a google code page for this project, I can up the working demos there if needed (and it is still compatible with current work of jRowe ;) )

Edited by linus
Link to comment
Share on other sites

I know this project is far from complete and not ready for a help file yet. I just wanted to throw the suggestion out there while I was thinking about it. Percy did a great job on the first plug-in, but the helpfile wasn't very helpful :blink: Every example for each function had the exact same code so it was hard to tell what code went with what function. Anyways, keep up the great work! I am really looking forward to learning this.

010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Link to comment
Share on other sites

A late update for the examples package:

includes now 60 70 completely converted examples at all + updated modified UDF + matching calltips file. Rest of info again inside the .zip (00_examples_readme.txt).

Edit:

au3irrlicht2_examples_0_2.zip

Edit2:

au3irrlicht2_examples_0.3.zip

Obsolete, latest examples + rest are now included into jRowe's releases.

So keep yourself updated here: http://code.google.com/p/au3irrlicht2

BTW: Feedback still highly welcome!

Think this package shows nicely what's possible by now with au3Irrlicht2. And I hope this will bring (more) life to this project ... Feedback, comments and suggestions definetly welcome.

Edited by linus
Link to comment
Share on other sites

Also interest in this project seems to be ... well ... completely slept away:

here is a new version of the example package (version 0.3, see post above). Includes now 70 fully converted + working examples.

Don't know if worth to continue, since this seems to become a one man show. Maybe because of the world cup, maybe anybody else switched to the mature freeBasic version of the wrapper?

Link to comment
Share on other sites

Also interest in this project seems to be ... well ... completely slept away:

Don't know if worth to continue, since this seems to become a one man show. Maybe because of the world cup, maybe anybody else switched to the mature freeBasic version of the wrapper?

interest isnt problem, problem is to convert my 2000+ line script + rewriting with aditional functions that i did not have, from old to new and to not messitup :blink:

As for me, im waiting JRowe-s release, dont need to reminde him all the time that im waiting for his update becose he already know it and im shure that he will relise it when he have free time on his side to work on it so theres no need to speed up everything, best to take it slow and make it good. ;)

TCP server and client - Learning about TCP servers and clients connection
Au3 oIrrlicht - Irrlicht project
Au3impact - Another 3D DLL game engine for autoit. (3impact 3Drad related)



460px-Thief-4-temp-banner.jpg
There are those that believe that the perfect heist lies in the preparation.
Some say that it’s all in the timing, seizing the right opportunity. Others even say it’s the ability to leave no trace behind, be a ghost.

 
Link to comment
Share on other sites

As for me, im waiting JRowe-s release, dont need to reminde him all the time that im waiting for his update becose he already know it and im shure that he will relise it when he have free time on his side to work on it so theres no need to speed up everything, best to take it slow and make it good. :blink:

Well, why not speed it up a little bit by helping jRowe with this project (he asked for it?!) :P

Also he seems to be VERY busy for a longer time, I try to help with this project by getting all the freeBasic examples running. Which should also result in a fixed + useable UDF after all.

70 of 111 are done - think a good milestone ...

Unfortunately I am currently completly stucked with the particle system. So maybe somebody else (with more experience and/or distance to this f*** problem) can invest some time to get me/the project back on the track ... Feel free + ambitious to give some whooo-why-didn't-you-see-it's-such-easy-Advice ;)

trancexx gave me already some hints about pointer usage in the dllCall. Think I understood but not sure if it's the core of the thing. So here we go:

.zip includes:

.au3: (working because using the default emitter (line 55). When adding own emitter (commented out line 106), irrLicht engine starts up, then produces runtime error after some time.

.bas: a little bit reworked (original was a little bit confusing). Logically, it does exactly the same as the .au3. Except that it is working perfectly ...

UDF: contains some more fixes/additions for the particle example. At very end there is the "evil" _IrrAddParticleEmitter with some comments maybe relevant for "diggin".

Edit: Problem solved.

Edited by linus
Link to comment
Share on other sites

Ok, I have some unexpected free time, so I'll get my butt in gear. The only priority thing on my list to include from Au3Irrlicht 1 is the transparent overlay effect. Everything else is exactly as Linus is doing it so far - once all the demos are completed, the functions will be in working order as well - at which point, they can be cleaned up with function headers and docs, etc. Until then, the wrapper docs included in the file are explanatory enough to see how things work, in conjunction with the demo code.

I've got the au3irrlicht google code page created, and I'll be adding Linus to the commiters list. Any suggestions are welcome, and if you want to contribute, let me know. I'll be uploading Linus' revision as the official starting point (2.01 sounds good to me.)

I'll upload this latest update from Linus as the official 2.01 version, and then organize the source and examples in SVN.

Thanks very much, Linus.

Link to comment
Share on other sites

http://code.google.com/p/au3irrlicht2/do...ds/detail?name=au3irrlicht2_examples.zip

I'll update what I can, when I can. The particle stuff is almost there, I think, so we don't have much farther to go. Great work! There are some amazing effects in the examples already.

TODO:

Example 7 - Particle System

Example 15 - Custom Mesh

Example 18 - Ray hitting nodes

Example 22 - Indices and Vertices

Example 25 - Particles from Node

Example 27 - Dynamic Particle Emitter

Example 34 - Find Nodes

Example 35 - Saving a Scene

Example 37 - Shader Materials

Example 39 - Texture Blending

Example 59 - Limited Collision with Point

Example 60 - Getting Node Children

Example 61 - Mouse Wheel

Example 62 - 6DOF Camera

Example 64 - Tiled Terrain

Example 66 - Stop Particles

Example 67 - Push Particles

Example 68 - Color Particles

Example 69 - Spline Particles

Example 70 - Texture and Images

Example 71 - Sphere Terrain Surface

Example 73 - Sphere Terrain Coordinates

Example 74 - Push Particle Mushroom Cloud

Example 75 - Push Particle Explosion

Example 79 - Newton Collision

Example 81 - GLSL Shader Materials

Example 82 - Freetype text

Example 83 - Embedded OpenGL Commands

Example 89 - Orthagonal Camera

Example 90 - Collision Point

Example 91 - Distance and Collision

Example 92 - Moving Entities by Collision

Example 93 - 3D Position from Screen

Example 95 - Rotating Nodes and Cameras for Flight Simulation

Example 96 - Lighting and Shadowmaps

Example 97 - Physics: Newton and ODE

Example 103 - Billboard Groups

Example 104 - LoD

Example 106 - Advanced Start

Example 107 - Render to Texture with Alpha

I'll cross things off the list as we go. the particles will fall into place once we have the original, basic example functioning correctly. The physics stuff may need some additional work and wrapping of their own.

Edited by JRowe
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...