What's New in Version 2.9, Release 1

Builds

  • Fix for utilities paths so Android projects will build under MacOS.
  • Fixed packaging of Builds/Media/iTunesArtwork file for iOS SDKs.
  • Updated header files (gl2.h, gl2ext.h, gl2extimg.h, gl2platform.h and khrplatform.h) with most recent version from Khronos registry.
  • Fixed iOS builds so that a valid executable is pre-selected for the new Xcode 4 schemes.

Demos

  • OGLESParticles: Fixed some spelling and removed some unused variables.
  • OGLES2Water: Switched demo to use standard, z-axis major RGB ordered normal maps from new PVRTexTool. ‘WaterToEyeLength’ varying passed but not used. This was being recomputed. Now fixed. ‘vTmp’ was using wrong coordinates and was not correctly mapping the refraction texture. Fixed culling issue: refraction texture was culling incorrect face. Switched to demo rendering FBOs at screen resolution by default for better quality. Removed unused variable ‘PerturbedUVs’. Added a toggle to the UI to render the water effect at the screen's resolution instead of the resolution defined in the code (this increases the fragment workload, but the effect will look better at higher resolutions). Fixed a bug with half of created shaders not being released.
  • OGLESFilmTV, OGLESFiveSphere, OGLESFur and OGLESMouse: Fixed disabling of GL_NORMAL_ARRAY before print3D is flushed.
  • OGLES2Skybox2: Fixed VBO for the skybox which was not used.
  • OGLES2PhantomMask: Added deleting shaders/program of Background in ReleaseView.
  • OGLES2Navigation3D: Changed all textures to use the fast PVRTC compressor.
  • OGLESNavigation3D: New demo port of OGLES2Navigation3D.
  • OGLES2MagicLantern: New demo to show dynamic spherical light map and handling of PFX files with PVRShaman semantics.
  • OGLES2ExampleUI: New demo to show how to optimise common UI rendering techniques.

PVREngine/PODPlayer

  • Fixed problem displaying POD files with no animation frames.
  • Now tracks geometry type (lines or triangles) in Mesh class instead of in POD data structures.
  • Logging function is now safe for long lines.
  • Updated POD example to use PFX and added a new PFX file for this.
  • Added better data management of script options, fix for displaying PODs with no animation.

Training Courses

  • OGLES2ParallaxBumpMap: New training course.
  • OGLES2IntroducingPFX: This example now explicitly sets the wrap mode in the .pfx instead of relying on the default.
  • OGLES2Bloom: Fixed incorrect intra-texel offset for optimized filtering.
  • OGLES2ShadowMapping: Removed unused colour variable from the shaders.
  • OGLES2Skinning: Fixed the mesh drawing so the skinless mesh fall-back works.
  • OGLES2EdgeDetection: Added releasing shaders and programs in OGLES2EdgeDetection
  • OGLES2Bumpmap, OGLESMultitexture, OGLES2PerturbedUVs and OGLES2LevelOfDetail: Switched to use standard, z-axis major RGB ordered normal maps from new PVRTexTool.
  • OGLES2RenderToTexture: Modified so it uses a normal FBO if we fail to create a multi-sampled one. Fixed missing extension initialization when using multi-sampling. Moved extension loading into tools code. Added multi-sampled FBO support via extension to OGLES2 version.

PVRTools

  • CPVRTHash: Added new module which uses Tiny Encryption Algorithm to generate 32-bit hashes of strings or generic data.
  • PVRTDecompress: Added new faster PVRTC decompressor.
  • PVRTPrint3D: Added ability to specify Projection and ModelView matrices.
  • PVRTArray: New module to handle arrays.
  • PVRTModelPOD: Added isLoaded() function to be able to check whether a POD file has been successfully loaded before attempting to use any of its data. CountIndices optimised for triangle strips. Modified to only write out the FPS value to POD files if there is animation data. Changed to use PVRT standard variable types.
  • PVRTMat4::Translate and PVRTMat4::Scale overloads added that take PVRTVec3, which call the original 3 float functions.
  • PVRTResourceFile: Added the ability to override the file loading functions with your own. Removed the StringPtr helper function as, with the added ability to use your own functions, we can no longer guarantee the data will be null-terminated.
  • PVRTMisc: prefix GetPOTHigher/Lower() with PVRT.
  • PVRTString: Removed default value for the last argument to CPVRTString function compare to fix ambiguous call error. Added find next/previous occurrence of a string. Added left/right functions to return the left/rightmost 'n' characters in the string.
  • PVRTPixelType: Changed PixelType to PVRTPixelType as it clashes with something in the Apple Cocoa APIs. Changed unsigned longs into unsigned ints as unsigned int is 32bit under both 32bit and 64bit (unsigned long is 64bit under 64bit).
  • PVRTBoneBatch/PVRTModelPOD: Modified so they constantly use malloc for the bone batches instead of a combination of new and malloc.
  • PVRTFixedPointAPI: Removed reference to PVRTFixedPointAPI.h from the WindowsVC2008 project and added PVRTBoneBatch.h.
  • PVRTPFXParser: Changed default texture wrap mode to ‘REPEAT’. Changed some variable names in ParseTextureFlags to make it more clear for the user. Added better error checking. Correctly set mipmap default to None/Off. Fixed a bug, now binds a texture before setting the texture properties. Changed random ints in PVRTPFXParser to enums to make code clearer. Re-written texture flag parsing to make it clearer and have better error checking. Added function to look up texture index in Effect block from a given name.
  • PVRTString: Added a ‘format’ method.
  • PVRTgles2Ext: Added GL_IMG_multisampled_render_to_texture support.
  • Fix for CPVRTPFXEffect encapsulation – variables are no longer public and now have accessors.

PVRShell

  • Removed the piece of common code that subtracts the start time from the time as PVRShellGetTime should return an incrementing time value measured in milliseconds instead of the time since the app start.
  • Added ‘prefLoadFileFunc’ and ‘prefReleaseFileFunc’ enum values for use with PVRShellGet that will retrieve function pointers from the shell allowing you to get external files stored as assets in an Android .apk.
  • PVRShellScreenSave() now takes the image resolution; previously it assumed it was the same size as the render target, even though PVRShellScreenCaptureBuffer() let you specify a sub-rect.
  • Added pixel replication functionality while saving: One use-case for this is in combination with creating a stream of screenshots with the -c option, in order to make a video where the individual pixels can be discerned.
  • PVRShellScreenSave() and PVRShellWriteBMPFile() now take an optional parameter, default value of 1, set this value to higher values to replicate the pixels as they are saved, scaling up the image.
  • Added a new option ‘prefCaptureFrameScale’ and command-line option ‘-screenshotscale’ to override the default.
  • Linux X11: Fixed a bug with not releasing Atoms allocated with XGetAtoms
  • Windows: Added a few missing #ifndef NO_GDI defines around recently added GDI functions.
  • Windows: Removed support for the Axim (X50v, X51v) hot keys as they are no longer needed.
  • MacOS/iOS: Updated to use mach_absolute_time instead of gettimeofday(). Previously if the user changed the system time, any time based functionality in a program could have odd behaviour. mach_absolute_time will return the number of milliseconds that the system has been on, providing a more stable time function.
  • Android: Update so it exits correctly if InitView/InitApplication return false.

PVRTexTool v3.23

  • "Fixed" Normal map generation. Output is now somewhat more accurate and is in XYZ-RGB order. To use the old order, simply use the channel swapping methods.
  • Added 2012 Maya and 3DSMax plugins.
  • New higher quality PVRTC compressor added.
  • Added 64-bit builds for TexToolGUI, TexToolCL and Max/Maya plugins (2010 onwards) for windows.
  • Iterations removed for encoding PVRTC, new PVRTC quality levels added.
  • Added dithering option to encoding dialog.
  • Renamed and fixed RMS error.
  • Fixed bug with zooming in - was causing invalid pixels at edge of screen.

PVRTexLib

  • Now thread-safe.
  • Fixed Normal map generation; output is now somewhat more accurate and is in XYZ-RGB order. To use the old order, simply use the channel swapping methods.
  • Switched the order of the CPVRTextureHeader and CPVRTextureData's member variables to appear in size order to alleviate data packing problems.
  • New higher quality PVRTC compressor added.
  • Made .ktx files load as flipped by default if flags aren't set.
  • Fixed cube map ordering for DirectX
  • Added option to dither textures when encoding.
  • Swapped PVRTC whitepaper for PVRTC Usage guide that was inaccurate.
  • Modified ktx_io to save data in the correct order when dealing with multiple faces.
  • Fixed bug with channel swapping - setting values other than 0 or 255 would not work.

PVRShaman v1.11

  • Added a grid and axis helper to the scene which will help determine position and orientation relative to the origin.
  • Removed requirement for colours to be clamped 0.0-1.0 (for use with HDR lighting/materials).
  • Added cube map reflection to Effect Library.
  • Added User Data fields in POD Info dialog; Material Properties dialog; and Object Data dialog. This allows viewing of the 'user data' property embedded within .POD files.
  • Added real-time GLSL ES compiler and profiler output to editor window.
  • OGL/DX9/DX10: New shader library layout in the Add Materials dialog.
  • Added default effects to the library.
  • Resolved issue of saving shader files using hotkeys.
  • Removed necessity to save POD file while saving shader/effect files.
  • File > Save/Save As is now context specific based on the current Scene/Editor tab status.
  • Saving shader/effect files will now choose the correct extension based on the file type.
  • Added ability to change the playback method of animations including Forward, Reverse and Ping-Pong. This is controlled by a drop-down menu on the scene toolbar.
  • Fixed issue with floating scene not responding to hotkeys.
  • Fixed bug regarding shortcut keys when input focus was within the scene panel.
  • Fixed bug not saving 'Invert Mouse' selection.
  • Added warning about mipmaps (if the user is using mipmaps on RTT or texture has no mip chain).
  • Added menu options for toggling axis helper and grid.
  • Set default light colour to be 1,1,1
  • Removed texture icon from Material list if no texture is associated with the “NoEffectFileEffect”.
  • Fixed right-click texture viewer on “NoEffectFileEffect” texture.
  • Added ability to load textures from PFX path if the POD is a built-in model and is not currently saved.
  • Fixed issue loading floating point vertex colours in InitMesh()
  • Refactored all spellings of 'Color’ to 'Colour'.
  • Added windows to the editor view for PVRUniSCo output.
  • If PVRShaman is set as the default program for opening PFX files, when a PFX file is double clicked the file is now opened and the editor given focus.
  • Added ability to open shader files directly from command line/Open With.. in Windows. Functionality was already there for POD files.
  • Fixed crash with floating window/scene saving and Save As.
  • Will now show the default shaders PVRShaman is using for each material when a shader isn't define
  • Added ‘skinning’ shader to the shaders library.
  • DX10: Fixed texture loading from the same folder as the effect file.
  • DX10: Fixed bone Count uniform as it was multiplying the count by 4.
  • DX9: Updated normal map as compression artefacts were very evident.
  • Changed default ambient/diffuse/specular for a new material to something more in line with 3DSMAX, and a little more useful as a basic colour.
  • DX9/DX10: NoEffectFile Shader now renders correctly.
  • OpenGL: Changed NoEffectFile Shader to have a better specular effect (uses Eye Direction).
  • DX9/DX10: Fixed skinning lighting (normal calculation was totally wrong!)
  • When the ‘New Shader’ option is clicked the file is now called "New Shader".
  • Added cascade style menu for New Shader (and creates relevant file).
  • Changed ‘Save Pod’/‘Save Pod As’ to ‘Save’/‘Save As’.
  • Changed 'Export Textures' to 'Create Textures'
  • Enhanced ‘FPS’ view mode.
  • Ctrl-M now always functions as shortcut to add material.
  • Fixed typo in preference dialog: 'Overide' is now 'Override'.

PVRTrace GUI 1.0

  • Render State Visualization (OGLES 1 & 2).
  • Fixed Filter Option.
  • Added new DrawCall filter.
  • Added watches for Function Counter.
  • Added Image controls (Zoom, fit, flip).
  • Fixed performance problem loading trace files.
  • Added new save trace summary options.
  • Added save trace to flat file.
  • Fixed Find functionality.
  • Added option to find anything in the whole trace.
  • Added texture list tab.
  • Overhauled the GUI.
  • Added new Hotkeys.
  • Fixed saving user options.
  • Fixed bug causing PVRTrace to load a console window.

PVRTrace Recorder

  • Fixed bug causing trace OGLES library to crash when specifying a non-zero start frame.
  • Added tracing barrier as an opt-in for applications. Calling either glDisable or eglBindApi with the argument 0x0433 will stop trace from recording.
  • Value is unused by opengl and is highly unlikely to be used.
  • Added the ability to record many of the possible OGLES and OGLES2 extensions.
  • Added AndroidARMV7 support.
  • Added Neutrino support.

Collada2POD v2.09

  • Several fixes done to get skinning examples exported using OpenCollada for 3DSMax to work.
  • Partial support for Bezier animations added.
  • (For other enhancements please check PVRGeoPOD as the user interface and functionality is shared)

PVRGeoPOD v1.24

  • Added Max and Maya 2012 support for Windows and Mac OS.
  • Added 64-bit plug-ins for Maya and Max 2010, 2011 and 2012.
  • Fixed a bug where you would get duplicate vertices if just exporting vertex positions
  • 3DSMax: Added support for IGame version 13.0.0.104.
  • Added the ability to add user data to POD nodes, materials and the scene through the use of a custom Mel Script/MAXScript file.
  • Blender: Fixed exporting data (transformations) as matrices
  • Maya: Added PVRGeoPOD_Export mel command that allows you to use the exporter from a script.
  • Maya: Fixed a bug which stopped a scene provided by a developer from exporting correctly due to a mesh pretending to be a transform.
  • Maya: Now mirrors its output to the script editor.
  • Maya: Fixed skinning for the situation where the skinned character has multiple materials applied.
  • 3DSMax: Fixed the suppressed prompt option. The exporter will no longer display the output dialog.
  • 3DSMax: Fixed skinning for the situation where the first frame of animation being exported isn't zero.

PVRVFrame

  • GUI Control window was removed (please use the external application supplied to change profiles).
  • OGLES1: Fixed conversion from byte to float.
  • OGLES1: Fixed glGet not working with GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES.
  • OGLES1: Fixed stencil test.
  • OGLES1: Fixed minor memory leaks.
  • OGLES2: Fixed glCopyTexImage2D and glCopySubTexImage2D not working for non-power-of-two textures.
  • OGLES2: Fixed glDetachShader not being able to be called after glDeleteShader has been called.
  • Fixed GL_LUMINANCE not being able to be used as render target.
  • Fixed segfault when fragment shader contains function named: xxxmainxxx.
  • Added support for IMG_multisampled_render_to_texture.
  • Added support for OES_required_internalformat.
  • Fixed call to glTexImage2D with format GL_BGRA_EXT and data set to NULL.
  • Fixed glGet(GL_NUM_COMPRESSED_FORMATS) returning the wrong value for the OGLES2 SGX profile.
  • Fixed eglChooseConfig. Previously it was broken when one of the attribs passed was EGL_CONFIG_ID.
  • Fixed an issue with eglGetDisplay not accepting EGL_DEFAULT_DISPLAY.
  • Added support for OES_packed_depth_stencil.
  • Fixed glGetIntegerv with GL_STENCIL_FUNC, GL_STENCIL_REF, GL_STENCIL_VALUE_MASK, GL_STENCIL_WRITEMASK.

PVRTune/SGXPerfServer v1.93

  • PVRScope now shares the SGXPerfServer/PVRTune version number. SGXPerfServer no longer prints the PVRScope version number (since it's the same).
  • Protocol ID is now 13. This prevents the use of old SGXPerfServer binaries or old saved files from being loaded into PVRTune due to data format changes.
  • User-defined Marks are now microsecond time-stamped when they are sent, rather than when SGXPerfServer spots them, which improves resolution.
  • Marks are no longer limited to 256 characters.
  • PVRScope now includes additional functionality to communicate with PVRTune via SGXPerfServer.
    • Can now send custom ‘Mark's (time stamped strings) from an app to SGXPerfServer and on to PVRTune.
    • Applications can now use PVRScope to set up editable libraries of items; PVRTune now has GUI elements to edit these, whereupon the new values are sent back to the application. Types supported in this release are floats and strings (such as shaders, scripts, text, etc).
  • SGXPerfServer instances running on the same subnet as PVRTune now show up in a new list on the PVRTune front page. Click to connect, as in the recently used connections list. The PVRTune front-page no longer shows the instructions text.

PVRTune v1.92

  • Incompatible data/SGXPerfServer dialog box now says the PVRTune version info in the title, and suggests which version the user should use.
  • TA/3D tasks now feature an extra splash of colour; the closest tips of each block (i.e. the bottom of 3D tasks and the top of TA tasks) are now colour coded to indicate the render target in use. Particularly in the case of render-to-texture, this helps identify which TA tasks and 3D tasks are part of the same render within a frame.
  • PVRTune now also indicates PID changes via colours in the timing data. The outside tips of each block (i.e. the top of 3D tasks and the bottom of TA tasks) are now colour coded to indicate the PID of the program that submitted the task.
  • Just like 'sleep' periods are rendered grey, 'data lost' periods are now shown olive and 'host reset' periods are now shown as red.
  • Fixed: file save/load dialog boxes are now modal. Dialog box for finding documentation PDF is now modal.
  • Fixed transparent pixels for Marks and power-off periods when saving the graph to a PNG.
  • 'Geek stats,' bottom-right of main window, now shows how long the connection has been open.
  • Graph views now automatically pause when the connection is lost, such as when a file load is completed.
  • Improvement for mouse-hovers over the timing data: PID is now shown over the frame data.
  • Improvement for mouse-hovers over the timing data: transfer tasks on the 3D core are now labelled.
  • Fixed an issue where PVRTune would link power-ons and indicate in the GUI that the HW was asleep when it clearly was not.
  • Added some clamping to keep HUD text on-screen.
  • Fixed crash: load file, close file, load file, press 'z' to view all; keyboard accelerator still tried to use old deallocated view.
  • 3D SPM events are now properly labelled in the GUI when the pointer hovers over them.
  • PVRTune now shows the OS, driver name, device name and device revision (all as sent from SGXPerfServer) in the advanced remote settings option.

SGXPerfServer v1.92

  • Added 'periodic=' and '-graphics=' to enable/disable those categories of timing tasks (for use when recording to a file).
  • The user can no longer toggle timing data (eg with 't' in console variants); must be set on the command-line or via PVRTune connection.
  • SGXPerfServer: added ‘--disable-hwperf’ command-line option, useful if you're running an app that uses PVRScope's HWPerf functionality.
  • The Android version of SGXPerfServer will no longer exit if it fails to open the file it has been asked to send data to.
  • SGXPerfServer start-up text now includes the driver device name and revision.

PVRUniSCo Editor v1.5 (29.0585)

  • Converted all occurrences of ‘Color’ to ‘Colour’.
  • Fixed crash when loading external shaders in a PFX file.
  • Enhanced file type determination.

NavDataTools

  • Fixed example index file for NavDataCompiler; using different scale for projected coordinates and road triangulation
  • Updated example conversion script file to reflect projection changes (roads are now 5 meters wide instead of 5 micro-meters)
  • Reverted intersection hole filling algorithm back to 2.7 release
  • Moved occlusion queries extension code from tools into OcclusionCalculator
  • Fixed shared_ptr.h missing stddef.h include.

Documentation

  • Added Filewrap manual.
  • New whitepapers added for Parallax Bump-mapping training course and Example UI demo.
  • Improved manual added for PVRUniSCoEditor, PVRGeoPOD, Collada2POD, PVRShaman, PVRVFrame, PVRTrace, PVRTexTool, and Filewrap.

What's New in Version 2.8, Release 1

Builds

  • Updated the iOS projects to support different icons for iPhone and iPad.
  • Enhancements to iOS projects and added support for latest XCode versions.
  • Added PVRTexLibVersion.h to the PVRTexLib package.
  • Updated the LinuxCE3100 SDK to build against PDK 18.
  • Removed the Initialization training course from the SDKs.
  • Added support for EWS to the Linux X86 and LinuxARMV7 builds.
  • Added Validate Build Product to Distribution build configuration for OGLES and OGLES2 iPhone builds.

Demos

  • Removed some unreferenced variable warnings from OGLES2 ChameleonMan, Coverflow, Navigiation, PhantomMask and Shaders.
  • OGLES2 FilmTV: and Fractal no longer assume that the FBOs they create are complete and will react accordingly if they aren't.
  • OGLES2 Navigation3D: New demo.

Training Courses

  • OGLES2 EdgeDectection: New Training Course.
  • OGLES2 BinaryShader: New Training Course.
  • OGLES2 BasicTnL: Fixed makefile for Android JNI.

PVRTools

  • PVRTPFXParser: Added support for POD render pass and tidied up comments.
  • PVRTgles2Ext and PVRTglesExt: Added GL_OES_vertex_array_object functions.
  • PVRTgles2Ext and PVRTglesExt: Moved the PVRGetProcAddress macro into the header file so it can be used outside of the extension tools class.
  • PVRTPrint3D: Fixed the initialisation of .rhw in UpdateBackgroundWindow function.
  • PVRTSTring : Added PVRTSTring::PVRTStringStripWhiteSpaceFromEndOf
  • PVRTSTring : Fixed PVRTSTring::PVRTStringStripWhiteSpaceFromStartOf
  • PVRTSTring : Fixed not working CPVRTString::find_last_not_of()
  • PVRTPrint3D: Fixed GetSize function when the string passed contains spaces.
  • PVRTVector: Fixed fault in vector code comparison operators.
  • PVRTMisc: Optimised the GetPOTLower() function.
  • Updated iPhone Tools projects for 4.2 SDK onwards. Fixed pch file.

PVRShell

  • AndroidJNI: Changed egl config attrib values to TRANSLUCENT and OPAQUE instead of 8888 and 565, which caused application lockups on Motorola Milestone.
  • AndroidJNI: Moved prefShowCursor to end of enum.
  • AndroidJNI: Fixing a couple of missing Java symbols/imports.
  • AndroidJNI: Changed GLSurfaceView selection of EGLConfig and fixed command line override for EGLConfig.
  • KEGL and Qt: Added -depthbpp=N/-dbpp=N command line option to select bit depth of depth buffer.
  • Qt: Implemented some missing functionality from the Qt shell and fixed a couple of problems with it.
  • LinuxRaw: Fixed keyboard mappings for Action1 ('1') and Action2 ('2') on the keyboard.
  • KEGL: PVRShell will now request a config with EGL_PIXMAP_BIT if a context with pixmap support is requested.
  • LinuxX11: Removed the return code check from the use of X11CopyArea in LinuxX11 as it always returns 1.
  • Added bool version of OsSet() and added support in all OSs. Added a new boolean Shell setting: prefShowCursor. Currently only implemented for Windows.
  • iOS: Fixed glView creation to fall back from stencil and AA support before failing outright.
  • iOS: Fixed stencil buffer support for iOS shell under OGLES 1.1.
  • Add EGLConfig ID to output from -info command line option.
  • Linux CE3100: Added support for upscaling to use define fullscreen=1 and a width and a height.
  • PVRShellGet will return -1 on OSs that don't support it.
  • Linux:(BRN29399) Modified the OsGetTime function to "fix" the problem where the unsigned long used for converting seconds to msec would overflow if the gettimeofdat function returned the time since epoch instead of boot.
  • Linux: (BRN31381) Fixed the PVRShells so they wouldn't go into an infinite loop if their use of readlink fails.
  • Bada: Fixed a bug where PVRShell failed to tidy up the app if the app was exitted by the 'end call' button.
  • Generic: Moved the initialisation of m_u32ShellStartTime to after the call to OsInit.
  • Generic: When the PVRShellInit object is destroyed it will also call ReleaseView and QuitApplication on the app if they haven't been called.
  • Generic: You can now query for prefNativeDisplay on OSs that support it with PVRShellGet.

PVRTexTool v3.20

  • Added Linux 64bit version.
  • Tidied the GUI menus and windows.
  • Many pre-process operations can now be performed simultaneously rather than having to reload the pre-process dialog.
  • Added an info tab to the Texture View window showing simple information about the texture.
  • Added options to change grid size and background colour.
  • Added some Direct3D supported pixel formats; all common D3D pixel formats can now be saved and loaded as .dds files on Windows.
  • Encoding dialog has been tidied for easier use.
  • Updated documentation to reflect compression and save/load options.
  • Fixed -nt command line option description.
  • Added ability to load texture files as well as images when composing a cube map.
  • Removed alpha loading when composing a cube, this function is now taken care of by using the new Load Channels functions.
  • Added ability to load channels into a new or current texture. Replaces old "load alpha" dialog.
  • Modified UI to make it clear which operations affect the whole texture, individual surfaces, or single MIP levels.
  • Modified UI to include a View menu with appropriate functions moved to this location
  • Command line is now more flexible allowing spaced (-i Example.bmp) or equality (-i=Example.bmp) notation, previous notation is still valid.
  • Command line now warns user if '-nt' option is selected whilst compressing to a pvrtc format.
  • Changed default resizing method to Bicubic instead of Nearest Neighbour. This fixes BRN29957
  • Correct values now work when setting resize mode - previously value 3 was 'valid' but had undefined behaviour. Values 0-2 still select correct modes.
  • Scrolling non-square textures in tiled mode no longer causes an error.
  • Using difference view no longer shows incorrect colour information after multiplying.
  • UI updated to include a status bar at the bottom with texture information (Size, Position and Zoom) as well as moving grid to edit menu.
  • When opening smaller textures, view window now opens to a more reasonable size.
  • When viewing a cube map, pixel colour will now be shown in the display tab.
  • PVRTexTool has been made more stable with all known crashes fixed.
  • -square function added to the command line to allow user to resize a texture to a power of 2 square.
  • Added Wrap Data dialog to the UI to enable loading of arbitrary data.
  • Fixed bug that opened a file dialog when performing pre-processing.
  • Fixed a problem with the windows version of PVRTexTool causing it to run slowly, most operations complete in half the time or less compared to previous versions.

PVRTexLib v3.20

  • PVRTexLib is available as a 64-bit binary across supported platforms.
  • Fixed problems with resizing rectangular textures that could cause corrupted data or crashes. Textures now resize as expected.
  • Added some Direct3D supported pixel formats; all common D3D pixel formats can now be saved and loaded as .dds files on Windows.
  • Added several "pass through" functions, allowing various header functions to be called directly from the texture class.
  • Added getMIPSize/getMIPSizeInPixels to Texture/TextureHeader class.
  • Added new constructor that has several default values to allow tidier code when creating a header manually.
  • Added getMipHeight/getMipWidth functions to allow a user to return the size of specific MIP levels.
  • Added functions to set the channel data in a texture to either a blanket integer value or replace it with another texture's colour channel.
  • Version data added to PVRTexLib.dll and the PVRTexTool executables. (BRN31648)
  • Added much more rigorous check and better error message for compressing too large a PVRTC texture.
  • Fixed bug where textures that were too small for a format were still being encoded with unpredictable results. Fixed problem with determining illegal dimensions for textures (such as NPOT textures for PVRTC) were slipping through due to const-ness of overriding function that didn't match that in the base classes.
  • PVRTexLib no longer relies on a singleton – PVRTextureUtilities must now be instanced to be used rather than calling getPointer(). With the exception of High Quality PVRTC compression, PVRTexLib is now thread-safe.
  • Fixed a bug with rectangular texture compression.
  • New PVRTC decompression algorithms in place to allow faster decompression.

PVRShaman v1.10

  • Added render to texture functionality.
  • Added RenderTexture.pfx to the Example/POD/OGLES2/ folder to demonstrate how the CAMERA render pass can be used by a .pfx.
  • Added Linux 64bit version.

Collada2POD v2.08

  • Fixed a crash if the glsl to pfx code doesn't find a suitable shader.
  • Fixed the handling of the matrix transformation.
  • Now recognises “location” in the target for the animation channels.
  • Now samples animations at 30 fps instead of trying to guess the fps value from the linear animation data.
  • Added Linux 64bit version.

PVRGeoPOD v1.23

  • Added support for Max and Maya 2011.
  • Added MacOS version for Maya (currently 32-bit only).
  • Fixed the splitting of meshes that have multiple materials if the mesh in question is instanced.
  • Fixed the ‘export selected’ support in the Maya version of PVRGeoPOD.
  • The Maya plug-in now exports the vertical FOV for the cameras instead of the horizontal.
  • Fixed a possible crash if the animation frame count in Max somehow becomes incorrect as seen in 1 random scene supplied to us.
  • Fixed the splitting of instanced meshes that have multiple materials.
  • Blender plug-in for MacOS.

Collada2POD & PVRGeoPOD

  • The exporters will now export indices as unsigned int if there are more vertices than an unsigned short can represent.
  • The exporters now export the FPS that the animations are designed to be played back at.
  • Added a merge option which will merge textures, effects and blending values from the .pod file you’re overwriting or one the user has specified. The merge function matches the materials based on material name and this functionality is intended to be used to merge in the common material changes that users perform in PVRShaman.
  • Added a few missing tool tips in the post-export tab.

PVRVFrame

  • Implemented workaround for ATI Windows Vista/7 10.12 Catalyst drivers issues
  • Fixed access violation within OES_Matrix_Palette
  • Fixed error generation by Enabling/Disabling Matrix_Palette_OES, POINT_SIZE_ARRAY_OES
  • Fixed getting initial value of IMPLEMENTATION_COLOR_READ_FORMAT and IMPLEMENTATION_COLOR_READ_TYPE
  • Added Linux 64bit version.
  • Ported to MacOS.

PVRUniSCo v1.7.17.3700

  • Removed binary block generation (if this functionality is required, please contact devtech@imgtec.com)
  • New profile data: Accurate cycles emulation, primary attributes and secondary registers

PVRUniSCo Editor v1.5

  • Added keyboard shortcuts for Save and Save All.
  • Background compilation is now a global option and it is enabled by default. The switch is now in the Options common dialog.
  • Added support for the new PVRUniSCo profile information.
  • Updated documentation to explain new profiler information.
  • Added Linux 64bit version (note: there is not yet a GLSL compiler for Linux 64bit)

Filewrap

  • Fixed warning message about not being able to open a file for reading.
  • Added Linux 64bit version.

NavDataTools

  • Added 3DSceneCompiler and OcclusionCalculator

Documentation

  • Added 3D Navigation Rendering Techniques whitepaper
  • PVRTexTool manual: Corrected OpenGL formats to show the correct enums and added A8 format.
  • PVRTexTool manual: Updated to fix mislabelling of RGBA5551 format.
  • PVRTexTool manual: Updated to include syntax information on more flexible command line.
  • PVRTexTool manual: Information added warning about using the -nt flag and pvrtc compression.
  • SDK User Guide: Updated to mention X11 requirement for Mac OS applications, PVRVFrame disclaimer about performance etc. and Windows requirements.
  • Navigation and 3D Navigation documents: minor corrections, proof-reading. Edge detection document: fixed some typos and contact information.



Press Contact
If you have any enquiries or require support on any of our POWERVR graphics SDK:

Check out the
PowerVR FAQ

PowerVR SDK Docs

E-mail Devtech Support devtech@imgtec.com