May
30
2012

3D rotate for RenderScript - rsMatrixRotate()

Refer to the RenderScript.rs in the example “Perform transform of Translate and Rotate on RenderScript“, the rsMatrixRotate() function define the rotation.
void rsMatrixRotate(rs_matrix4×4 *m, float rot, float x, float y, float z)

rsMatrixRotate() modified

Modify RenderScript.rs of last exercise “Draw circle in Android RenderScript“.

//declare RendorScript Version
#pragma version(1)

//declare package
#pragma rs java_package_name(com.exercise.AndroidRenderScript);

//include graphics library
#include "rs_graphics.rsh"

rs_mesh my_rs_mesh;

float rotation;

void init(){
 rotation = 0.0f;
}

int root(){
 //set background color
 rsgClearColor(0.0f, 0.0f, 0.0f, 0.0f);

 //Transform something
 rs_matrix4x4 matrix;
 rsMatrixLoadIdentity(&matrix);
 rsMatrixTranslate(&matrix, 100.0f, 100.0f, 0.0f);
 rsMatrixRotate(&matrix, rotation++, 1.0f, 1.0f, 1.0f);
 rsgProgramVertexLoadModelMatrix(&matrix);

 //draw something
 rsgDrawMesh(my_rs_mesh);

 //repeat 20ms
 return 20;
}


Written by admin in: android, sample code |

No Comments

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

AndGPS | Connect Android Phone To GPS Solutions