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=4lxgQVKKeKYTalented 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=yzxGBypfq9oDaniel 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 CDAlinea Computer:
Special Edition CD |
Plus Edition CDAmedia Computer:
Standard Edition CD |
Plus Edition CDAmiga On The Lake:
Plus Edition CDWarp3D Nova Recent ChangesQuote:
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
shaders
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 ChangesQuote:
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.
Edited by amigakit on 2017/5/1 22:34:20