Commit 045245a4 by Gerry Raptis

#4.1 Updated SDKBrowser and examples, Delete files that were not required by this branch

parent 650a55b1
...@@ -70,12 +70,12 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -70,12 +70,12 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<input type="checkbox" id="HelloAPIFull2"> <input type="checkbox" id="HelloAPIFull2">
<label for="HelloAPIFull2" title="Click for more information"><h3>HelloAPI</h3></label> <label for="HelloAPIFull2" title="Click for more information"><h3>HelloAPI</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Draw a triangle to the screen using hardware acceleration. <div class="ShortDescription" id="TexturingShort"><p>Draw a triangle to the screen using hardware acceleration.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>A basic tutorial that guides the user, step-by-step, through the process of initializing a window using OpenGL ES 2, drawing a triangle with a simple shader, and then terminating the window. <p>A basic tutorial that guides the user, step-by-step, through the process of initializing a window using the "raw" API, (Vulkan or OpenGL ES 2), drawing a triangle with a simple shader, and then terminating the window.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -91,7 +91,7 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -91,7 +91,7 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<input type="checkbox" id="IntroducingPVRShellFull2"> <input type="checkbox" id="IntroducingPVRShellFull2">
<label for="IntroducingPVRShellFull2" title="Click for more information"><h3>IntroducingPVRShell</h3></label> <label for="IntroducingPVRShellFull2" title="Click for more information"><h3>IntroducingPVRShell</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRShell library. <div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRShell library.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -111,13 +111,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -111,13 +111,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<a href="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" alt="IntroducingPVRAssets" /></a> <a href="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" alt="IntroducingPVRAssets" /></a>
<input type="checkbox" id="IntroducingPVRAssetsFull2"> <input type="checkbox" id="IntroducingPVRAssetsFull2">
<label for="IntroducingPVRAssetsFull2" title="Click for more information"><h3>IntroducingPVRAssets</h3></label> <label for="IntroducingPVRAssetsFull2" title="Click for more information"><h3>IntroducingPVRAssets</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Load a scene in POD format using the PVRAssets library, and render it using OpenGL ES 2.0 <div class="ShortDescription" id="TexturingShort"><p>Load a scene in POD format using the PVRAssets library, and render it using native API calls.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>This training course introduces the PowerVR Framework PVRAssets library, and shows how to use it to read a PowerVR Object Data (.pod) file and textures. It goes into detail on how to open .pod files, .pvr files that have been referenced by it, and set up the cameras and lights from the .pod file. This demo also demonstrates the use of the PVR OpenGL ES bindings (a part of PVRGles), which is the OpenGL binding used in the native parts of this this SDK. <p>This training course introduces the PowerVR Framework PVRAssets library, and shows how to use it to read a PowerVR Object Data (.pod) file and textures. It goes into detail on how to open .pod files, .pvr files that have been referenced by it, and set up the cameras and lights from the .pod file. This demo also demonstrates the use of PVRNativeApi (either Vulkan or OpenGL ES), which is the API binding used in the native parts of this this SDK.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -132,13 +132,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -132,13 +132,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<a href="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" alt="IntroducingPVRApi" /></a> <a href="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" alt="IntroducingPVRApi" /></a>
<input type="checkbox" id="IntroducingPVRApiFull2"> <input type="checkbox" id="IntroducingPVRApiFull2">
<label for="IntroducingPVRApiFull2" title="Click for more information"><h3>IntroducingPVRApi</h3></label> <label for="IntroducingPVRApiFull2" title="Click for more information"><h3>IntroducingPVRApi</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Render a .pod scene using a .pfx effect file with automatic shader versioning using the PVRApi library. <div class="ShortDescription" id="TexturingShort"><p>Ρender a .pod scene using a .pfx effect file with automatic shader versioning using the PVRApi library.
</p><small><b>OpenGL ES 2.0/3.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0/3.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>This training course demonstrates how to use the PVRApi library to render a scene from a pod file, using a .pfx effect file. PFX is both a file format and an API, and stands for PowerVR Effects. The library loads the POD file and the PFX file separately, creates a PVRAssets Model from the POD and a PVRApi Effect from the PFX file, and combines them to render the scene using the PVRApi necessary objects. Uses the PVRUIRenderer library to display simple text on screen. Different Shader versions provided for OpenGL ES 2.x and 3.x. <p>This training course demonstrates how to use the PVRApi library to render a scene from a pod file, using a .pfx effect file. PFX is both a file format and an API, and stands for PowerVR Effects. The library loads the POD file and the PFX file separately, creates a PVRAssets Model from the POD and a PVRApi Effect from the PFX file, and combines them to render the scene using the PVRApi necessary objects. Uses the PVRUIRenderer library to display simple text on screen. Provided for Vulkan (with SpirV shaders) and OpenGL ES(version 2.x and 3.x shaders).
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -148,13 +148,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -148,13 +148,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
</input> </input>
</div> </div>
</li> </li>
<li id="IntroducingPVRUIRenderer"> <li id="IntroUIRenderer">
<div class="title"> <div class="title">
<a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/IntroducingPVRUIRenderer.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/05_IntroducingPVRUIRenderer/IntroducingPVRUIRenderer.png" alt="IntroducingPVRUIRenderer" /></a> <a href="../../Examples/Beginner/05_IntroUIRenderer/IntroUIRenderer.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/05_IntroUIRenderer/IntroUIRenderer.png" alt="IntroUIRenderer" /></a>
<input type="checkbox" id="IntroducingPVRUIRendererFull2"> <input type="checkbox" id="IntroUIRendererFull2">
<label for="IntroducingPVRUIRendererFull2" title="Click for more information"><h3>IntroducingPVRUIRenderer</h3></label> <label for="IntroUIRendererFull2" title="Click for more information"><h3>IntroUIRenderer</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRUIRenderer library to do advanced Text tasks. <div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRUIRenderer library to do advanced Text tasks.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -165,7 +165,7 @@ In this example, UIRendererer is used to display images and Unicode text, screen ...@@ -165,7 +165,7 @@ In this example, UIRendererer is used to display images and Unicode text, screen
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
<p><strong>Links:</strong></p> <p><strong>Links:</strong></p>
<p class="source"><a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/OGLES/OGLESIntroducingPVRUIRenderer.cpp" target="_blank">OGLESIntroducingPVRUIRenderer.cpp</a> | <a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/OGLES/Build/" target="_blank">Projects</a></p> <p class="source"><a href="../../Examples/Beginner/05_IntroUIRenderer/OGLES/OGLESIntroUIRenderer.cpp" target="_blank">OGLESIntroUIRenderer.cpp</a> | <a href="../../Examples/Beginner/05_IntroUIRenderer/OGLES/Build/" target="_blank">Projects</a></p>
</div> </div>
</input> </input>
</div> </div>
...@@ -197,13 +197,13 @@ In this example, UIRendererer is used to display images and Unicode text, screen ...@@ -197,13 +197,13 @@ In this example, UIRendererer is used to display images and Unicode text, screen
<input type="checkbox" id="BumpmapFull2"> <input type="checkbox" id="BumpmapFull2">
<label for="BumpmapFull2" title="Click for more information"><h3>Bumpmap</h3></label> <label for="BumpmapFull2" title="Click for more information"><h3>Bumpmap</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates using a normal map to implement bump mapping using the PowerVR Framework. <div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates using a normal map to implement bump mapping using the PowerVR Framework.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>Bump mapping is a technique for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during the illumination calculations. The result is an apparently bumpy surface rather than a perfectly smooth surface although the surface of the underlying object is not actually changed. This technique is used extensively in graphics applications to add perceived detail to models without adding further geometry. <p>Bump mapping is a technique for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during the illumination calculations. The result is an apparently bumpy surface rather than a perfectly smooth surface although the surface of the underlying object is not actually changed. This technique is used extensively in graphics applications to add perceived detail to models without adding further geometry.
This example can be used as the baseline for rendering an object. Uses different shaders for OpenGL ES 2.x and OpenGL ES 3.x This example can be used as the baseline for rendering an object. Implemented for Vulkan and OpenGL ES 2.0/3.0.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -219,7 +219,8 @@ This example can be used as the baseline for rendering an object. Uses different ...@@ -219,7 +219,8 @@ This example can be used as the baseline for rendering an object. Uses different
<input type="checkbox" id="PostProcessingFull2"> <input type="checkbox" id="PostProcessingFull2">
<label for="PostProcessingFull2" title="Click for more information"><h3>PostProcessing</h3></label> <label for="PostProcessingFull2" title="Click for more information"><h3>PostProcessing</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates a simple implementation of a 'bloom' post processing effect. <div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates a simple implementation of a 'bloom' post processing effect.
</p><small><b>OpenGL ES 2.0</small></b></div> </p><small><b>OpenGL ES 2.0
</small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
...@@ -370,7 +371,7 @@ Requires OpenGL ES 3.1 capable platform. ...@@ -370,7 +371,7 @@ Requires OpenGL ES 3.1 capable platform.
<input type="checkbox" id="SkinningFull2"> <input type="checkbox" id="SkinningFull2">
<label for="SkinningFull2" title="Click for more information"><h3>Skinning</h3></label> <label for="SkinningFull2" title="Click for more information"><h3>Skinning</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This demo shows a scene with a combination of a skinned, bumpmapped character with non-skinned, non-bumpmapped objects. <div class="ShortDescription" id="TexturingShort"><p>This demo shows a scene with a combination of a skinned, bumpmapped character with non-skinned, non-bumpmapped objects.
</p><small><b>OpenGL ES 2.0/3.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0/3.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -378,7 +379,7 @@ Requires OpenGL ES 3.1 capable platform. ...@@ -378,7 +379,7 @@ Requires OpenGL ES 3.1 capable platform.
<p>The Skinning demo shows a Skinned Character in combination with bump mapping. Skinning is the act of animating a vertex over time given a set (palette) of matrices and a known set of blend weights assigned to those matrices. For each frame the Matrix Palette is recomputed based on time. PVRAssets and POD files support skinning. either full transformation Matrices, or Quaternion rotation with Scaling and Translation vectors. The provided POD file contains matrix animation. <p>The Skinning demo shows a Skinned Character in combination with bump mapping. Skinning is the act of animating a vertex over time given a set (palette) of matrices and a known set of blend weights assigned to those matrices. For each frame the Matrix Palette is recomputed based on time. PVRAssets and POD files support skinning. either full transformation Matrices, or Quaternion rotation with Scaling and Translation vectors. The provided POD file contains matrix animation.
This example is using BoneBatching, which separates the mesh in smaller matrix palettes (Bone Batches) so that they can fit in the maximum number of allowed Uniform variables. This example is using BoneBatching, which separates the mesh in smaller matrix palettes (Bone Batches) so that they can fit in the maximum number of allowed Uniform variables.
Up to 4 matrices from the palette, along with 4 weights can used for each vertext by the vertex shader to update the position to obtain the current animation frame position. Up to 4 matrices from the palette, along with 4 weights can used for each vertext by the vertex shader to update the position to obtain the current animation frame position.
Shaders provided for OpenGL ES 2.0 and OpenGL ES 3.0 Versions provided for Vulkan, OpenGL ES 2.0 and OpenGL ES 3.0
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Action1/2/3 : Pause</p><p> Esc : Close</p></p> <p><p> Action1/2/3 : Pause</p><p> Esc : Close</p></p>
......
...@@ -70,12 +70,12 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -70,12 +70,12 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<input type="checkbox" id="HelloAPIFull2"> <input type="checkbox" id="HelloAPIFull2">
<label for="HelloAPIFull2" title="Click for more information"><h3>HelloAPI</h3></label> <label for="HelloAPIFull2" title="Click for more information"><h3>HelloAPI</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Draw a triangle to the screen using hardware acceleration. <div class="ShortDescription" id="TexturingShort"><p>Draw a triangle to the screen using hardware acceleration.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>A basic tutorial that guides the user, step-by-step, through the process of initializing a window using OpenGL ES 2, drawing a triangle with a simple shader, and then terminating the window. <p>A basic tutorial that guides the user, step-by-step, through the process of initializing a window using the "raw" API, (Vulkan or OpenGL ES 2), drawing a triangle with a simple shader, and then terminating the window.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -91,7 +91,7 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -91,7 +91,7 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<input type="checkbox" id="IntroducingPVRShellFull2"> <input type="checkbox" id="IntroducingPVRShellFull2">
<label for="IntroducingPVRShellFull2" title="Click for more information"><h3>IntroducingPVRShell</h3></label> <label for="IntroducingPVRShellFull2" title="Click for more information"><h3>IntroducingPVRShell</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRShell library. <div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRShell library.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -111,13 +111,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -111,13 +111,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<a href="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" alt="IntroducingPVRAssets" /></a> <a href="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/03_IntroducingPVRAssets/IntroducingPVRAssets.png" alt="IntroducingPVRAssets" /></a>
<input type="checkbox" id="IntroducingPVRAssetsFull2"> <input type="checkbox" id="IntroducingPVRAssetsFull2">
<label for="IntroducingPVRAssetsFull2" title="Click for more information"><h3>IntroducingPVRAssets</h3></label> <label for="IntroducingPVRAssetsFull2" title="Click for more information"><h3>IntroducingPVRAssets</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Load a scene in POD format using the PVRAssets library, and render it using OpenGL ES 2.0 <div class="ShortDescription" id="TexturingShort"><p>Load a scene in POD format using the PVRAssets library, and render it using native API calls.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>This training course introduces the PowerVR Framework PVRAssets library, and shows how to use it to read a PowerVR Object Data (.pod) file and textures. It goes into detail on how to open .pod files, .pvr files that have been referenced by it, and set up the cameras and lights from the .pod file. This demo also demonstrates the use of the PVR OpenGL ES bindings (a part of PVRGles), which is the OpenGL binding used in the native parts of this this SDK. <p>This training course introduces the PowerVR Framework PVRAssets library, and shows how to use it to read a PowerVR Object Data (.pod) file and textures. It goes into detail on how to open .pod files, .pvr files that have been referenced by it, and set up the cameras and lights from the .pod file. This demo also demonstrates the use of PVRNativeApi (either Vulkan or OpenGL ES), which is the API binding used in the native parts of this this SDK.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -132,13 +132,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -132,13 +132,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
<a href="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" alt="IntroducingPVRApi" /></a> <a href="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/04_IntroducingPVRApi/IntroducingPVRApi.png" alt="IntroducingPVRApi" /></a>
<input type="checkbox" id="IntroducingPVRApiFull2"> <input type="checkbox" id="IntroducingPVRApiFull2">
<label for="IntroducingPVRApiFull2" title="Click for more information"><h3>IntroducingPVRApi</h3></label> <label for="IntroducingPVRApiFull2" title="Click for more information"><h3>IntroducingPVRApi</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>Render a .pod scene using a .pfx effect file with automatic shader versioning using the PVRApi library. <div class="ShortDescription" id="TexturingShort"><p>Ρender a .pod scene using a .pfx effect file with automatic shader versioning using the PVRApi library.
</p><small><b>OpenGL ES 2.0/3.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0/3.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>This training course demonstrates how to use the PVRApi library to render a scene from a pod file, using a .pfx effect file. PFX is both a file format and an API, and stands for PowerVR Effects. The library loads the POD file and the PFX file separately, creates a PVRAssets Model from the POD and a PVRApi Effect from the PFX file, and combines them to render the scene using the PVRApi necessary objects. Uses the PVRUIRenderer library to display simple text on screen. Different Shader versions provided for OpenGL ES 2.x and 3.x. <p>This training course demonstrates how to use the PVRApi library to render a scene from a pod file, using a .pfx effect file. PFX is both a file format and an API, and stands for PowerVR Effects. The library loads the POD file and the PFX file separately, creates a PVRAssets Model from the POD and a PVRApi Effect from the PFX file, and combines them to render the scene using the PVRApi necessary objects. Uses the PVRUIRenderer library to display simple text on screen. Provided for Vulkan (with SpirV shaders) and OpenGL ES(version 2.x and 3.x shaders).
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -148,13 +148,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc ...@@ -148,13 +148,13 @@ OpenGL ES is a cross-platform API for 2D and 3D graphics on embedded systems suc
</input> </input>
</div> </div>
</li> </li>
<li id="IntroducingPVRUIRenderer"> <li id="IntroUIRenderer">
<div class="title"> <div class="title">
<a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/IntroducingPVRUIRenderer.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/05_IntroducingPVRUIRenderer/IntroducingPVRUIRenderer.png" alt="IntroducingPVRUIRenderer" /></a> <a href="../../Examples/Beginner/05_IntroUIRenderer/IntroUIRenderer.png" title="Click to view image" target="_blank"><img class="examplesmall" src="../../Examples/Beginner/05_IntroUIRenderer/IntroUIRenderer.png" alt="IntroUIRenderer" /></a>
<input type="checkbox" id="IntroducingPVRUIRendererFull2"> <input type="checkbox" id="IntroUIRendererFull2">
<label for="IntroducingPVRUIRendererFull2" title="Click for more information"><h3>IntroducingPVRUIRenderer</h3></label> <label for="IntroUIRendererFull2" title="Click for more information"><h3>IntroUIRenderer</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRUIRenderer library to do advanced Text tasks. <div class="ShortDescription" id="TexturingShort"><p>This training course introduces the PVRUIRenderer library to do advanced Text tasks.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -165,7 +165,7 @@ In this example, UIRendererer is used to display images and Unicode text, screen ...@@ -165,7 +165,7 @@ In this example, UIRendererer is used to display images and Unicode text, screen
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
<p><strong>Links:</strong></p> <p><strong>Links:</strong></p>
<p class="source"><a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/OGLES/OGLESIntroducingPVRUIRenderer.cpp" target="_blank">OGLESIntroducingPVRUIRenderer.cpp</a> | <a href="../../Examples/Beginner/05_IntroducingPVRUIRenderer/OGLES/Build/" target="_blank">Projects</a></p> <p class="source"><a href="../../Examples/Beginner/05_IntroUIRenderer/OGLES/OGLESIntroUIRenderer.cpp" target="_blank">OGLESIntroUIRenderer.cpp</a> | <a href="../../Examples/Beginner/05_IntroUIRenderer/OGLES/Build/" target="_blank">Projects</a></p>
</div> </div>
</input> </input>
</div> </div>
...@@ -197,13 +197,13 @@ In this example, UIRendererer is used to display images and Unicode text, screen ...@@ -197,13 +197,13 @@ In this example, UIRendererer is used to display images and Unicode text, screen
<input type="checkbox" id="BumpmapFull2"> <input type="checkbox" id="BumpmapFull2">
<label for="BumpmapFull2" title="Click for more information"><h3>Bumpmap</h3></label> <label for="BumpmapFull2" title="Click for more information"><h3>Bumpmap</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates using a normal map to implement bump mapping using the PowerVR Framework. <div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates using a normal map to implement bump mapping using the PowerVR Framework.
</p><small><b>OpenGL ES 2.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
<p>Bump mapping is a technique for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during the illumination calculations. The result is an apparently bumpy surface rather than a perfectly smooth surface although the surface of the underlying object is not actually changed. This technique is used extensively in graphics applications to add perceived detail to models without adding further geometry. <p>Bump mapping is a technique for simulating bumps and wrinkles on the surface of an object. This is achieved by perturbing the surface normals of the object and using the perturbed normal during the illumination calculations. The result is an apparently bumpy surface rather than a perfectly smooth surface although the surface of the underlying object is not actually changed. This technique is used extensively in graphics applications to add perceived detail to models without adding further geometry.
This example can be used as the baseline for rendering an object. Uses different shaders for OpenGL ES 2.x and OpenGL ES 3.x This example can be used as the baseline for rendering an object. Implemented for Vulkan and OpenGL ES 2.0/3.0.
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Quit : Close the application</p></p> <p><p> Quit : Close the application</p></p>
...@@ -219,7 +219,8 @@ This example can be used as the baseline for rendering an object. Uses different ...@@ -219,7 +219,8 @@ This example can be used as the baseline for rendering an object. Uses different
<input type="checkbox" id="PostProcessingFull2"> <input type="checkbox" id="PostProcessingFull2">
<label for="PostProcessingFull2" title="Click for more information"><h3>PostProcessing</h3></label> <label for="PostProcessingFull2" title="Click for more information"><h3>PostProcessing</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates a simple implementation of a 'bloom' post processing effect. <div class="ShortDescription" id="TexturingShort"><p>This training course demonstrates a simple implementation of a 'bloom' post processing effect.
</p><small><b>OpenGL ES 2.0</small></b></div> </p><small><b>OpenGL ES 2.0
</small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
<p><strong>Description:</strong></p> <p><strong>Description:</strong></p>
...@@ -370,7 +371,7 @@ Requires OpenGL ES 3.1 capable platform. ...@@ -370,7 +371,7 @@ Requires OpenGL ES 3.1 capable platform.
<input type="checkbox" id="SkinningFull2"> <input type="checkbox" id="SkinningFull2">
<label for="SkinningFull2" title="Click for more information"><h3>Skinning</h3></label> <label for="SkinningFull2" title="Click for more information"><h3>Skinning</h3></label>
<div class="ShortDescription" id="TexturingShort"><p>This demo shows a scene with a combination of a skinned, bumpmapped character with non-skinned, non-bumpmapped objects. <div class="ShortDescription" id="TexturingShort"><p>This demo shows a scene with a combination of a skinned, bumpmapped character with non-skinned, non-bumpmapped objects.
</p><small><b>OpenGL ES 2.0/3.0 </p><small><b>Vulkan 1.0, OpenGL ES 2.0/3.0
</small></b></div> </small></b></div>
<br> <br>
<div class="FullDescription" id="TexturingFull"> <div class="FullDescription" id="TexturingFull">
...@@ -378,7 +379,7 @@ Requires OpenGL ES 3.1 capable platform. ...@@ -378,7 +379,7 @@ Requires OpenGL ES 3.1 capable platform.
<p>The Skinning demo shows a Skinned Character in combination with bump mapping. Skinning is the act of animating a vertex over time given a set (palette) of matrices and a known set of blend weights assigned to those matrices. For each frame the Matrix Palette is recomputed based on time. PVRAssets and POD files support skinning. either full transformation Matrices, or Quaternion rotation with Scaling and Translation vectors. The provided POD file contains matrix animation. <p>The Skinning demo shows a Skinned Character in combination with bump mapping. Skinning is the act of animating a vertex over time given a set (palette) of matrices and a known set of blend weights assigned to those matrices. For each frame the Matrix Palette is recomputed based on time. PVRAssets and POD files support skinning. either full transformation Matrices, or Quaternion rotation with Scaling and Translation vectors. The provided POD file contains matrix animation.
This example is using BoneBatching, which separates the mesh in smaller matrix palettes (Bone Batches) so that they can fit in the maximum number of allowed Uniform variables. This example is using BoneBatching, which separates the mesh in smaller matrix palettes (Bone Batches) so that they can fit in the maximum number of allowed Uniform variables.
Up to 4 matrices from the palette, along with 4 weights can used for each vertext by the vertex shader to update the position to obtain the current animation frame position. Up to 4 matrices from the palette, along with 4 weights can used for each vertext by the vertex shader to update the position to obtain the current animation frame position.
Shaders provided for OpenGL ES 2.0 and OpenGL ES 3.0 Versions provided for Vulkan, OpenGL ES 2.0 and OpenGL ES 3.0
</p> </p>
<p><strong>Controls:</strong></p> <p><strong>Controls:</strong></p>
<p><p> Action1/2/3 : Pause</p><p> Esc : Close</p></p> <p><p> Action1/2/3 : Pause</p><p> Esc : Close</p></p>
......
...@@ -50,8 +50,133 @@ ...@@ -50,8 +50,133 @@
<div class="content"> <div class="content">
<h1>Release Notes</h1> <h1>Release Notes</h1>
<p><a href="#4.0" class="link">v4.0</a> | <a href="#3.5" class="link">v3.5</a> | <a href="#3.4" class="link">v3.4</a> | <a href="#3.3" class="link">v3.3</a></p> <p><a href="#R1" class="link">2016 R1</a> | <a href="#4.0" class="link">v4.0</a> | <a href="#3.5" class="link">v3.5</a> | <a href="#3.4" class="link">v3.4</a> | <a href="#3.3" class="link">v3.3</a></p>
<p>For the latest version of the Release Notes please go <a href="https://community.imgtec.com/download-notes/">here</a>.</p>
<div id="R1">
<h2>PowerVR Tools and SDK 2016 R1</h2>
<h3>Overview</h3>
<p>In our first release of 2016, we have provided a host of new fixes and updates – including a fully functioning Vulkan backend for the PVR Framework. The Framework itself consists of a light-weight abstraction layer, as well as utility functions, that provide explicit control of Vulkan whilst reducing the amount of code required to render a scene. It features, among other things: utilities for common tasks, such as object creation and asset uploading (e.g. mesh loading & pipeline baking), simplified object lifetime management, and cross-platform setup. It also includes the GnomeHorde demo, specifically created to show multi-threaded command buffer management for Vulkan.</p>
<h3>Builds</h3>
<ul>
<li>Added support for the MIPS r6el toolchain.</li>
</ul>
<h3>PVRFramework v4.1</h3>
<ul>
<li>Brand new fully functioning Vulkan Backend.</li>
<li>PVRCore:</li>
<ul>
<li>New Embedded Refcounted Pointer allows better integration in several cases that need to have awareness of their refcounting and/or have to provide smart pointers to themselves.</li>
<li>Frustum class with frustum querying/culling functions to facilitate visibility tests.</li>
</ul>
<li>PVRApi:</li>
<ul>
<li> PVRApi has been broken into PVRNativeApi (the OpenGLES/Vulkan bindings) and the rest PVRApi (the API abstraction). </li>
<li> Several API objects had their implementations updated to correctly work with Vulkan.</li>
<li>Functions that create objects that are allocated from Pools have been moved from the Context to the actual Pool objects.</li>
<li>Numerous CPU-side performance/memory optimisations.</li>
<li> Textures and TextureViews had their interface changed slightly (Swizzling is now part of the view, Allocation is part of the texture).</li>
<li>Pipeline Creation had its interface tweaked to work with Vulkan (RenderPass/SubPass is now passed to the Pipeline as a parameter).</li>
<li>Some objects (Context, Pool) updated with the new embedded refcounting strategy.</li>
<li>Utils: a new StructuredMemoryView class allows storing the layout of UBOs and similar objects whose structure needs to be known to be updated. Supports providing custom pointers or connecting with buffers for auto-mapping/unmapping.</li>
<li>Texture upload util function also return de-compressed format and boolean indicating whether the texture has been de-compressed.</li>
<li>Framebuffer ColorAttachmentView and DepthStencilAttachmentView are now being removed and instead the Fbo uses the TextureView as their attachment.</li>
</ul>
<li>PVRUIRenderer:</li>
<ul>
<li>PVRUIRenderer needs the render pass and the subpass at the initialization.</li>
</ul>
<li>PVRNativeApi:</li>
<ul>
<li> Texture upload util function return de-compressed format and boolean indicating if the texture has been de-compressed.</li>
</ul>
</ul>
<h3>Examples</h3>
<ul>
<li> Gnome Horde: A demo specifically created to show a strategy for multi-threaded command buffer creation for Vulkan.</li>
<li> Ported to Vulkan: HelloApi, IntroducingPVRShell, IntroducingPVRAssets, IntroducingPVRApi, Bumpmap, Skinning, Deferred shading.</li>
</ul>
<h3>PVRTexTool v4.16</h3>
<ul>
<li> Library: Fixed BRN58175. Declared and defined an empty default destructor for PVRTextureHeader to prevent the compilation of a default destructor in the linking binary.</li>
</ul>
<h3>PVRShaderEditor v2.7</h3>
<ul>
<li>ShaderEditComponent: Fixed an issue where the compiler process was timing out early, and no output would be retrieved.</li>
<li>The compiler executable is now selectable per tab.</li>
</ul>
<h3>PVRVFrame v10.3</h3>
<ul>
<li>Added support for EGL_KHR_create_context_no_error.</li>
<li>Added support for GL_KHR_no_error.</li>
<li>Fixed eglMakeCurrent returning EGL_BAD_ALLOC when requesting an ES 3.2 context.</li>
<li>Fixed EGL_BAD_MATCH being reported when explicitly requesting an ES 3.2 context.</li>
<li>Fixed a case where shaders may fail to translate when the host GLSL version is less than 330.</li>
<li>Fixed possible shader translation failures when using instancing or uniform blocks.</li>
<li>Fixed a bug where shaders might fail to translate when the host GLSL version is less than 150.</li>
<li>Fixed a possible crash on Linux during context creation when GLX_ARB_create_context is not available.</li>
<li>Fixed EGL_BUFFER_SIZE sometimes being initialized incorrectly on Windows (BRN57130).</li>
<li>Fixed error checking in glInvalidateFramebuffer and glInvalidateSubFramebuffer (BRN58009).</li>
<li> Stopped erroneously reporting support for GL_IMG_shader_binary and GL_IMG_program_binary.</li>
<li>Fixed a bug in OES_required_internalformat support where some internal formats weren't being accepted.</li>
</ul>
<h3>PVRGeoPOD v2.17</h3>
<ul>
<li>3DSMax: Added support for 3DSMax 2016 SP2 (igame version 18.6.667.0).</li>
</ul>
<h3>PVRTune v14.141</h3>
<ul>
<li>Added counter: "ISP pixel load".</li>
<li>Added "Overdraw" counter.</li>
<li>Hide counters for cores that the HW does not have.</li>
</ul>
<h3>PVRTrace v3.7</h3>
<h5>PVRTraceGUI</h5>
<ul>
<li>Added string representations of enums defined by EGL_EXT_image_dma_buf_import and EGL_IMG_image_plane_attribs .</li>
<li>Added a progress bar to show the progress of image analysis. This implements BRN49610 and BRN58206.</li>
<li>Added enums from GL_KHR_no_error and EGL_KHR_create_context_no_error. This fixes BRN56048.</li>
<li>Fixed a bug that caused image analysis to fail when interrupting the analysis.</li>
<li>Pixel analysis by default now works on the whole frame and not just up to the scrubber. An option is available in the preferences to make the pixel analysis work along with the scrubber.</li>
<li>The find results widget now becomes visible when a search is started. This fixes BRN58413.</li>
<li>Added support for viewing buffer object data in hex format.</li>
<li>Image analysis renders are now cached for all renders that don't require pixel analysis. The caching can be enabled/disabled in the preferences.</li>
<li>We no longer do highlighting in single primitive mode if it isn't the single primitive we're showing.</li>
<li>Added support for EGL Displays and GLES Samplers to the object data viewer.</li>
<li>When viewing a program object you can now see the values of uniforms (only if the trace file was recorded with 4.0 or later).</li>
<li>Added a Call Hierarchy widget which will show you all the calls the current call/object depends on at that point in time.</li>
<li>Added options to save out the pixel analysis table data.</li>
<li>Memory barriers will now display GL_ALL_BARRIER_BITS if that is what it is set to.</li>
<li>Program stages will now display GL_ALL_SHADER_BITS if that is what it is set to.</li>
<li>Fixed playback of separate shader objects.</li>
<li>Tweaked the Draw Call List widget design to better accommodate separate shader objects.</li>
<li>Under the EGL Objects tabs EglImages are now split by target.</li>
<li>We now recognise extension GL_EXT_texture_sRGB_decode.</li>
<li>Fixed the function quick help for glUnmapBuffer.</li>
<li>Fixed the loading of ES1.1 trace files that do matrix operations using the default matrix mode.</li>
<li>Fixed a bug where it was possible to have an empty EGLSurfaces header in the EGL Objects list.</li>
<li>You can now copy search results to the clipboard by right-clicking on the Search's heading and choosing copy.</li>
</ul>
<h5>PVRTracePlayback</h5>
<ul>
<li>Added command-line option "--render-offscreen" that will render to an offscreen framebuffer object instead of the draw surface.</li>
<li>Saving screenshots now adequately takes into account the packing alignment and pixel pack buffers.</li>
<li>Added command-line option "--print-object-mapping" which will print the mapping between recorded object names and playback object names.</li>
<li>Added .pvrtrace to the recognised file types for the OSX playback.</li>
<li>Modified the usage of the command-line option "--save-frame-buffer" so it takes an optional range of frames to output instead of the output location. If you wish to define an output location for the framebuffers you can define it with "--output=".</li>
<li>Fixed the displaying of the filesize for files above 2147483647 bytes. This fixes BRN58259.</li>
<li>Added --override-shaders command-line option that will allow you to modify shaders. On first run this command-line will dump out the shader to the location of the trace file. On subsequent runs the shaders will be loaded and used during playback. This implements BRN58130.</li>
<li>Added command-line option --export-saved-frame-buffers that exports the framebuffers saved in the trace file. This implements BRN58141.</li>
<li>Added command-line option --disable-no-error which disables the use of EGL_KHR_create_context_no_error and GL_KHR_no_error during playback. This implements BRN56049.</li>
</ul>
<h5>PVRTrace Recorder</h5>
<ul>
<li>The message "Recording... Current frame" is now correctly output for frame 0.</li>
<li>Fixed a bug in the config attribute querying code that could have made the following call return an error of EGL_BAD_ATTRBUTE.</li>
<li>Optimised recording of glUnmapBuffer. Buffers mapped with GL_MAP_FLUSH_EXPLICIT_BIT or without GL_MAP_WRITE_BIT are not saved out during this call.</li>
</ul>
</div>
&nbsp;
<div id="4.0"> <div id="4.0">
<h2>PowerVR Tools and SDK v4.0</h2> <h2>PowerVR Tools and SDK v4.0</h2>
<h3>Overview</h3> <h3>Overview</h3>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment