2017-02-28 20 views
0

我正在嘗試使java點雲示例中的渲染點變大但我似乎無法使其工作。你可能知道它使用Rajawali渲染器。GLES10.glPointSize(浮點大小)在Java點雲中不起作用

我要做的就是在Points.java更改此代碼:

@Override 
    public void preRender() { 
     super.preRender(); 
     setDrawingMode(GLES20.GL_POINTS); 
     GLES10.glPointSize(5.0f); // <---- A bigger value here does nothing 
    } 

但是,即使我增加浮動參數glPointSize點像以前那樣保持相同尺寸的應用。任何人都知道如何使點更大或以其他方式來做到這一點?

謝謝!

+0

您是否嘗試過「setDrawingMode」之前把「glPointSize」? –

+0

是的,很遺憾沒有任何改變:/ –

回答

0

您必須應用自定義着色器。

這是我如何使用VertexShader畫點:

void main() { 
    gl_PointSize = 10.0 // <-- set points size 
    vColor = aColor; 
    gl_Position = uMVPMatrix * vPosition; 
} 
+0

我試過這個: 'private static String mVShader = 「void main(){」+ 「gl_PointSize = 20.0;」 + 「vColor = aColor;」 + 「gl_Position = uMVPMatrix * vPosition;」 + 「}」;' 然後 'public void preRender(){ super.preRender(); 材料mMat =新材質(新VertexShader(mVShader),新FragmentShader()); setMaterial(mMat); setDrawingMode(GLES20.GL_POINTS);}' 我對着色器不是很熟悉。我究竟做錯了什麼? –

+0

我個人不使用Rajawali,但我試圖運行此示例,並看到自定義着色器不起作用。我認爲Rajawali中的自定義着色器存在問題。 Rajawali [有一個問題](https://github.com/Rajawali/Rajawali/issues/1567) –