Add more shared C++/JavaScript docs and add JavaScript wrapping guide
[platform/core/uifw/dali-toolkit.git] / docs / content / shared-javascript-and-cpp-documentation / texture-compression.md
@@ -1,8 +1,8 @@
-
 /**
  *
 
-## Texture Compression
+# Texture Compression {#texturecompression}
+
 
 Using compressing the textures will:
 
@@ -11,24 +11,71 @@ Using compressing the textures will:
 - Speed up load times. Smaller files mean quicker load times.
   
 DALi supports the KTX file format.
+  
 You just load the compressed texture like you would any other image.
 
-    var image = new dali.ResourceImage({url:"my_compressed_file.ktx"});
+~~~{.cpp}
+// C++
+ResourceImage image = ResourceImage::New("my_compressed_file.ktx");
+~~~
+~~~{.js}
+// JavaScript
+var image = new dali.ResourceImage( { url:"my_compressed_file.ktx"});
 
-ARMS texture compression tool<br>
-http://malideveloper.arm.com/develop-for-mali/tools/asset-creation/mali-gpu-texture-compression-tool/  <br>
+~~~
+  
+### ARMS texture compression tool
 
+http://malideveloper.arm.com/develop-for-mali/tools/asset-creation/mali-gpu-texture-compression-tool/
+  
 Here is an example of using the ARM compression tool.
+  
+![ ](../assets/img/texture-atlas/compression-options.jpg)
+![ ](compression-options.jpg)
+  
+![ ](../assets/img/texture-atlas/compression-example.jpg)
+![ ](compression-example.jpg)
 
-<img src="../assets/img/shared/texture-atlas/compression-options.jpg">
-
-<img src="../assets/img/shared/texture-atlas/compression-example.jpg">
+  
+As shown above the ETC-1 compression format does not support alpha.
+  
+As a work around the tool will export the alpha as a seperate compressed image.
 
-As shown above the ETC-1 compression format does not support alpha.<br> As a work around the tool will export
-the alpha as a seperate compressed image.
 In order to combine both the images you need to use a custom shader.
 Here is an example shader:
-```
+  
+~~~{.cpp}
+// C++ Code
+  const char* const COMPRESSED_RGB_PLUS_SEPARATE_ALPHA_FRAGMENT_SOURCE =
+    "\n"
+    "void main()\n"
+    "{\n"
+    "    vec4 v4Color  = (texture2D(sTexture, vTexCoord) * uColor);\n"
+    "    v4Color.a =  texture2D(sEffect, vTexCoord ).r;\n"
+    "   gl_FragColor = v4Color;"
+    "}\n";
+
+
+  mShaderEffect = ShaderEffect::New( "", COMPRESSED_RGB_PLUS_SEPARATE_ALPHA_FRAGMENT_SOURCE);
+
+  mAtlasImageRGB = ResourceImage::New( ATLAS_RGB_FILENAME.KTX);
+
+  mAtlasImageAlpha = ResourceImage::New( ATLAS_ALPHA_FILENAME.KTX );
+
+  mShaderEffect.SetEffectImage( mAtlasImageAlpha );
+
+
+
+  // to create Image Actor
+  ImageActor  imageActor = ImageActor::New( mAtlasImageRGB, GetImagePosition( info) );
+
+  imageActor.SetShaderEffect( mShaderEffect );
+
+  imageActor.SetBlendMode(BlendingMode::ON);
+~~~
+  
+~~~{.js}
+// JavaScript code
 var fragSource = "  \
 void main()                                                   \
 {                                                             \
@@ -51,8 +98,11 @@ ImageActor  imageActor = ImageActor::New( mAtlasImageRGB, GetImagePosition( info
 imageActor.setShaderEffect( shaderEffect );
   
 imageActor.setBlendMode( dali.BLENDING_ON );
-```
- @class TextureCompression
+~~~
+
+@class _Guide_Texture_compression
+
+
+*/
 
 
- */