From The Blog: Corona Roadmap 2018

I do not believe it’s possible to push a video feed to an OpenGL texture from our current plugin structure.

Rob

Some time ago  kilopop mentioned Vuforia and every now and then I’ve thought about putting a binding together. (If I had seen this conversation a week ago I’d have hit up their booth at GDC.) It does seem to provide accessors that could be piped into an external texture, although that entails the cost of an upload. (On desktop this is enough to play a VLC stream without a hitch, even after swizzling the color components, but I can’t speak for mobile.) I don’t know if the price of the middleware would scare off too many users to be worth it, though (for similar reasons I held off on FMOD).

@bgmadclown I did make a proposal that I feel would open up such plugins. A bit rough now and I could probably iterate on what I wrote. The main trouble spot is the timing, i.e. when the rendering happens. Then again, in this case maybe it wouldn’t offer any advantage over the aforementioned upload.

@John_M I have a “basic 3D” plugin (also using external textures) but have basically sat on it for the last year and then some, since it flushes out a nasty simulator crash after some random number of relaunches on Windows 7. That said, perhaps I could just put a caveat for that environment and submit anyway. I was planning to finally send off something else, so I might be in the frame of mind for it soon.

Even though I was the one telling you about the pricing “problem” with FMOD i’d still love seeing this become a reality. Those with ambitions above 2 week sparetime projects may still qualify for the free FMOD license as you can’t develop many quality games in a year, well at least not if you’re a tiny team with no real budget. Hell even with smaller games it’s at least one a year. Some games may not benefit from any advances sound features but others might.

@Michael Flad
Aren’t the sounds in fmod only 99 cents each? Is there a different pricing problem with fmod? I guess we’d need a plugin for fmod though?

@StarCrunch
I’d love to see what the basic 3d plugin could do. If users would have simulator problems maybe we could just do live builds?

FMod ist not (primarily) about sounds but about the core code/engine you have to buy a license for. If you’re a small indie dev (<$500k a year) you can use FMOD for free for one game every 12 months, for each additional license in a year you’d have to pay $2000.

Some time ago (I have no idea when it changed, might be quite some years) they used to offer indie licenses at $100 which was a fantastic deal.

A hocus-clone wouldn’t need 3D, just isometric 2D.

I used it circa 2000 for a win32 title w the $100 indie license. the free-indie terms have changed over time too - iirc, at one time it was $100k/yr revenue cap, the current $500k/yr is a dev-budget cap

Yeah, I’ve still a project on my harddrive with a fsound.dll back from 1999 :slight_smile: That game actually also used Lua, iirc, 3.2 with it’s tag methods (which I quite liked back then). You’re right wrt to the dev budget but I’d say, once your in that dimensions it kind of doesn’t matter. You either need some advanced audio features and you’ll happily pay $2k for these or … well you’re probably just releasing low spec games anyway

agree completely - you’d likely have to be paying salaries to reach that point (fe, i’ve never seen a Corona-built app that looked like it had anywhere near $500k in “asset cost”), so you ought to be considered a “real business” at that point, another $2k for “tools” shouldn’t matter. (which i suspect matches fmod’s reasoning)

got you beat by 0.1!  :smiley:

(doubt any code still retrievable, only “proof” to offer was discovering a bug in 3.1’s math.random, fixed in 3.2, search for “bollinger” here:  https://github.com/lua/lua/blob/master/bugs))

Good point, I guess that would be considered isometric 2D. I’ll study up some more on that. I guess I had in mind a hocus-like world that you could rotate around to see from different sides by swiping on it or rotating it around with your fingers. Would that require 3D? Is that possible in Corona? I admit I don’t know enough about graphics rendering to pull that off without built-in functions :slight_smile:

Yes, the easiest way to do that would be with a 3D engine.  In theory, you could do all the calculations yourself and appropriately create/define the mesh or polygon, but that would slow and painful, as well as liable to display artifacts due to slight rounding errors.

https://docs.coronalabs.com/guide/graphics/path.html#paths

Thanks for the great insights. Really interesting stuff

Which I guess brings up the question, is a basic geometric 3D engine (not photo realistic) a huge leap for Corona (i.e. a completely different architecture), or is it instead something that could eventually (hopefully) be added to Corona with a few libraries or a plugin? I think we’d lose less developers to Unity if Corona became 3D capable. I want to stick with Corona for the long run, I’d prefer not to have to deal with the learning curve of switching at some point. Probably many agree Corona is where we want to be!

@davebollinger @MichaelFlad I’m keeping this all in mind. There are some other choices like Bass, Wwise, etc. but I’ve only used FMOD myself. (Now that I think of it I should have pestered Firelight as well, while I had the chance.)

I can only claim Lua 5.0 myself.  :slight_smile: And I think it wasn’t even a year before 5.1 rolled out, which gave me a wildly inaccurate idea of the release schedule!

@John_M If you’re on Windows, I just added a snapshot here; I’ll see if I can’t add Mac later today. You can take the DLL files from the  binaries directory and drop them into a plugin folder that you create at this location:

print(system.pathForFile("", system.PluginsDirectory))

These are all on the marketplace too, though they might have fixes I’ve yet to check in. In any case, they do have annoying prints.  :stuck_out_tongue: (The problem I cite actually seems to be in Bytemap, but gathering all the relevant logic into one plugin would just bring the error along for the ride, I think.) Memory bitmap is Corona’s own.

The squirrel texture comes from here, so far as I know (just something IM’d to me once), with the model being made via this. (Weird geometry botch is all mine.) I used some slightly modified luapower code for the obj loader.

The underlying renderer is nothing fancy. I actually just saw this before starting to write and might investigate down the line. I’m not sure how far this would be worth taking, especially if either my aforementioned proposal or open source with the ability to contribute happens, in which case I’d drop this like a hot potato and start adding native stuff.  :) A short-term goal might be to layer on a compatibility layer with Scott’s work on SceneKit, so all platforms were covered. Also, in that native scenario, I think something like bgfx would be a good starting point, rather than from scratch.

Also, I did submit this, which has a vector graphics 3D scene and some “2D” stuff as well. Honestly, I introduced it on a lark and to get a feel for the plugins submission process, but it would be cool if it actually came in handy.  :smiley:

Obviously I am very interested in 3D!  I’ve gone as far as is possible with 2.5D in Corona and would hate to have to move to Lumberyard/Unity/Unreal.

I wouldn’t hold my breath for 3D Corona.  IMHO it is a whole different universe and would be a ground-up redesign.  

Also, I don’t believe we’re losing users to Unity because it’s 3D. While it would make it easier to do:

  • Nice light + geometry based effects. i.e. Use 3D models and multiple lights instead of 2D images to get subtle lighting effects.
  • Shadow casting with depth.
  • Isometric views with engine handled Z-layering
  • Some other things we fake in 2D 

For the most part, full-on 3D games are way beyond the ability of new users.  There are simply too many things you have to understand an know how to do.   Alternately, you need a big budget to hire artists and or buy assets.  Newbies simply aren’t going to be making 3D content on their own, unless they are going for a lo-fi lo-poly look.  Even that is huge work.

Just an opinion…

Yes but I believe Corona could do a .dxf import and ‘bake’ the object (at a perspective so we would see a 3D object rendered to 2D for the physics library)… then again I believe that Corona can capture video feeds for live capture and A/R… then again i must be an optimist…

@ed I’m being purely selfish in my requirements!

Saying that there is a huge (IMHO) for the Corona approach to basic 3D - i.e. 10x faster.

Most games do not need full Unreal… they need simplistic rendering capabilities.

For example, in 3D the axis are unintuitive… (x and z) are flat and y is up!  I propose x and y are flat and z is up.

Corona could seriously capitalise on simplistic 3D for games and devs port to 3D easily by simply adding z to their code.

@John_M Mac versions added too. Same process, basically. With both versions it seemed to run fine using the marketplace editions of the non- object3d libraries, so I might be forgetting having synched the changes.  :slight_smile:

@greg brady Baking is essentially what I mean. It’s fairly low-level right now. In the zipped sample (really just a test), the object is being loaded from the obj format, but there are libraries that cover a whole lot more, such as Assimp, which looks like it has at least a couple Lua bindings already: lua-assimp and MoonAssimp. The latter seems pretty thorough, though only claims to support Lua 5.3 and up.

For us these improvements could make a big difference in the products we can deliver…and open up the doors for corona at the same time.  for Corona it seems to be  a technological investment that is tough to make at this time…

@StarCrunch,  that’s very interesting, I’ll check this out, thanks!. 

@StarCrunch,  thanks for all the info.  I’ll definitely check it out,  I’m on Windows… you mention the dll and putting it in that directory.  Would that require using Corona Enterprise? (i.e. using Android Studio for the builds) or would building just with the simulator still utilize  the dll? 

Based on those links it all looks a little over my head since I know little about 3D rendering, but I’ll definitely check it all out hopefully in the near future.  That video where it shows how to turn the 2D squirrel pic into a 3D model is very cool.