Welcome, Guest. Please login or register.

Author Topic: Enhancer Software Development Progress: Warp3D Nova and OpenGL  (Read 1337 times)


0 Members and 1 Guest are viewing this topic.

Offline amigakitTopic starter

Behind the scenes, the Enhancer Software continues to get updated every week by the AmigaDeveloper.com Team in preparation for the next public release (which will be the fourth public release since May 2016).

There are many really hard working devs in our group and I am grateful for their ongoing commitment and enthusiasm to this project.  They are proving that it is possible to coordinate a structured team of part time coders in the Amiga world these days and get significant development achieved which is great news for Amiga fans.

There are many things I would like to announce but that will spoil future news releases of course.

Some things I can talk about are the ongoing work of Warp3D Nova which now has made it to version 1.40 internally.  This project has had immense work invested in it by Hans De Ruiter and the ever growing feature set is continuing to break new ground in terms of native Amiga 3D.  

Entwickler-X have publically posted more videos of their impressive new Warp3D Nova game that they have been diligently working on and expanding as Warp3D Nova grows:  https://www.youtube.com/watch?v=4lxgQVKKeKY

Talented Amiga games developer, HunoPPC, has been working with Warp3D Nova/OpenGL ES 2.0 from the Enhancer Software and has created an EGL wrapper library.  He has published this preview video: https://www.youtube.com/watch?v=yzxGBypfq9o

Daniel Muessener has been very busy introducing many new features to the OpenGL ES 2 library that is distributed exclusively on the Enhancer Software Plus/Std CD.  See below for the detail behind the Warp3D Nova changes and OpenGL ES 2 library changes.

Support the team!

If you want to support future development, the best way to do this is to order your Enhancer Software download or boxed CD now.  All the revenue it being used to fund the developers in the team so they can continue to create new content for our favourite computer and keep the ball rolling!

The Enhancer Software comes in three versions: Plus Edition, Standard Edition and Special Edition.

It can be downloaded from AMIStore App Store or as a boxed CD from these dealers:

AmigaKit Amiga Store: Special Edition CD | Standard Edition CD | Plus Edition CD

Alinea Computer: Special Edition CD |  Plus Edition CD

Amedia Computer: Standard Edition CD | Plus Edition CD

Amiga On The Lake: Plus Edition CD

Warp3D Nova Recent Changes

Version 1.40 - 2017/04/08
- Added 4K UHD support to W3DNLogo (added the screenmodes)
- W3DNLogo's screen-mode selection code wasn't always selecting 32-bit
  screenmodes. FIXED
- W3DN_SI: Implemented smart register allocator. Can now handle larger more complex

Version 1.39 - 2017/02/24
- Added the DepthCube example (demonstrates using depth-textures)
- W3DN_SI: Added depth-texture support
- W3DN_SI: Using gl_FragDepth caused GPU to lock up. FIXED
- DDK: Added depth-texture unit tests
- DDK: Added a gl_FragDepth test
- Corrected the GetViewport() documentation
- Misc. fixes

Version 1.38 - 2017/02/10
- Added the RenderToTex example (demonstrates the W3DN_Q_RENDERTOTEXTURE feature)
- Added the BitMapCube example (demonstrates the W3DN_Q_BITMAPASTEXTURE feature)
- Some autodoc fixes (e.g., BindTexture()'s documentation was incomplete)
- W3DN_GetTexFmtInfo() had a bug that prevented getting info for "special" formats
  (e.g., W3DNPF_SRGB8). FIXED
- Added bitmap-to-texture support (in main lib and W3DN_SI)
- DDK: Added bitmap-as-texture tests

Version 1.37 - 2017/02/01
- FBGetBuffer*() functions were named incorrectly in header files. FIXED
- Added the W3DNEC_EXCEEDEDMAXDIM error code
- W3DN_SI: Implemented render-to-texture
- DDK: Added render-to-texture tests

Version 1.36 - 2017/01/18
- W3DN_SI: Added function call support to the shader compiler
- W3DN_SI: Fixed an optimizer bug (could cause compilation to fail with matrix
  local vars)
- DDK: Added function call unit tests

OpenGL ES 2.0 Recent Changes

OpenGL ES 2 for AmigaOS4 / Warp3D Nova
Version 1.14 is available to registered A-EON beta-coders and this is what's inside:

- Fix: wow, you really shouldn't follow the OGL specs blindly... Those specs (and all docs I found on the web contain that misinformation) say that the texture format GL_ALPHA essentially behaves like RGBA data with A set to the respective value and RGB set to ZERO! This is plain wrong of course if you think of it for a second - but I have to admit I didn't think that long... Fixed it to set RGB all to ONE.

- Support for anisotropic filtering GL extensions. Those are not part of the OGLES2.0 standard but quite nice - and have been requested by Frank Menzel from Entwickler-X :) This means:
- glTexParameter now supports GL_TEXTURE_MAX_ANISOTROPY_EXT to set a texture's anisotropy.
- glGetTexParameter now supports GL_TEXTURE_MAX_ANISOTROPY_EXT to get a texture's current anisotropy.
- glGet now supports GL_TEXTURE_MAX_ANISOTROPY_EXT, return GL_TRUE if the driver supports anisotropy.
- glGet now supports GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT to query the largest supported anisotropy.

- Since version 1.37 Nova supports render-to-texture. I had implemented that feature blindly before already, but as it turned out it wasn't bug-free:
Fix: glViewport and glScissor now consider the different coordinate system used if using textures as render targets. Not doing this resulted in weird buggy rendering results (e.g. picture flipped vertically, areas not drawn to and showing uninitialized texture RAM, etc.). Thanks to Frank Menzel for reporting!

- Support for tex-format GL_DEPTH_COMPONENT with pixel-format GL_FLOAT. This is not part of the OGLES2.0 standard but quite useful for render-to-texture. Again, requested by Frank Menzel.

- OpenGL ES 3 headers added (platform include adjusted) for convenience (download fresh include folder!). Hans asked for this to simplify porting of progs that actually only use the OGLES 2 API but include OGLES3 headers nevertheless.

- Applied some branch hints to all the parameter checkers / GL-error-handlers (asuming that in 99% of the time the coder knows what (s)he does). Every cycle counts ;)

- Improved dual GPU support. While it worked in general since the previous version, it could easily happen that you ended up with a context for the wrong GPU nevertheless. Only if you left all window / screen control to the lib you actually got what you wanted. In practive however you maybe need more control. Therefore there are two improvements regarding context-creation:
1. if you supply a window handle then the lib will now automatically check on which screen this window has been created. The lib will then use the GPU best matching that screen.
2. there's a new parameter for aglCreateContext: OGLES2_CCT_CONTEXT_FOR_MODEID. You can use that to tell the lib for which screen-mode-id you'd like to get a context - without the lib creating any screen by itself.
www.AmigaKit.com - Amiga Hardware/Software Dealer

New Products  --   Customer Help & Support -- @amigakit

USA Toll Free Order Tel: 1-888-698-6758

Offline apsturk

  • Full Member
  • ***
  • Join Date: Jan 2014
  • Posts: 221
    • Show only replies by apsturk
    • http://amigaonthelake.com
Re: Enhancer Software Development Progress: Warp3D Nova and OpenGL
« Reply #1 on: May 02, 2017, 12:20:41 AM »
Fantastic guys, great job and a big THANK YOU from all the AmigaOne owners here in Canada & the USA!!!

If you want to support future development the 2nd best way to do this is to:

Give donations through AOTL Donations. We match every dollar donated by 20% all developers get 100% of all money donated + 20% from us at Amiga On The Lake and on top of that we also cover any and all PayPal expenses.

We include many AmigaOS developers that work very hard to bring the best Amiga experience to our platform!!!!
« Last Edit: May 02, 2017, 12:25:27 AM by apsturk »
AmigaOne X1000 | OS4.1FE | Radeon R9 280X | 480Gb SSD | 4Gb | 27 ViewSonic VP2770|
Amiga 500 | CPU 68010| Megachip 2 meg | Kickstart 3.1 | GVP 500HD+8 ROM 4.15 8 meg fast ram | ECS Indevision | SCSI2SD 4gig | BetterWB 4.0 | CD - Zip drives and Plipbox.
Amiga 1200 | Indivision 1200 AGA MK2cr | CF 4gig | ACA 1233 55.55mhz | OS3.9 | FastATA 1200 MK-V | Rapid Road
2 MorphOS Paid for copies. Running on Mac Mini 1.5Ghz