@Test public final void testDrawElementsNoIndex() { final Interfaces i = this.getInterfaces("main"); final JCGLDrawType gd = i.getDraw(); this.expected.expect(JCGLExceptionBufferNotBound.class); gd.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); }
@Test public final void testDrawElementsNoIndex() { final Interfaces i = this.getInterfaces("main"); final JCGLDrawType gd = i.getDraw(); this.expected.expect(JCGLExceptionBufferNotBound.class); gd.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); }
@Override public <M> void onInstanceSingle( final R2MaterialOpaqueSingleType<M> material, final R2InstanceSingleType i) { this.matrices.withTransform( i.transform(), i.uvMatrix(), this, (mi, t) -> { final R2ShaderInstanceSingleUsableType<?> s = t.shader_single; s.onReceiveInstanceTransformValues(t.g33, mi); s.onValidate(); t.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); return Unit.unit(); }); }
g_sh.shaderUniformPutTexture2DUnit(this.texture_uniform, u0); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram();
g_sh.shaderUniformPutTexture2DUnit(this.texture_uniform, u0); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram();
g_sh.shaderUniformPutTexture2DUnit(this.texture_uniform, u0); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram();
@Override public <M> void onInstanceSingle( final R2MaterialDepthSingleType<M> material, final R2InstanceSingleType i) { this.matrices.withTransform( i.transform(), i.uvMatrix(), this, (mi, t) -> { final R2ShaderDepthSingleUsableType<?> s = t.material_single.shader(); s.onReceiveInstanceTransformValues(t.g33, mi); s.onValidate(); t.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); return Unit.unit(); }); }
@Override public <M> void onInstanceSingle( final R2MaterialOpaqueSingleType<M> material, final R2InstanceSingleType i) { this.matrices.withTransform( i.transform(), i.uvMatrix(), this, (mi, t) -> { final R2ShaderInstanceSingleUsableType<?> s = t.material_single.shader(); s.onReceiveInstanceTransformValues(t.g33, mi); s.onValidate(); t.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); return Unit.unit(); }); }
@Override public <M> void onInstanceSingle( final R2MaterialDepthSingleType<M> material, final R2InstanceSingleType i) { this.matrices.withTransform( i.transform(), i.uvMatrix(), this, (mi, t) -> { final R2ShaderDepthSingleUsableType<?> s = t.material_single.shader(); s.onReceiveInstanceTransformValues(t.g33, mi); s.onValidate(); t.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); return Unit.unit(); }); }
@Override public void onRender(final JCGLInterfaceGL33Type g) { final JCGLArrayObjectsType g_ao = g.getArrayObjects(); final JCGLClearType g_c = g.getClear(); final JCGLDrawType g_d = g.getDraw(); final JCGLShadersType g_sh = g.getShaders(); /** * Clear the window. */ g_c.clear(this.clear); /** * Activate the program, bind the created array object, draw a triangle. */ g_sh.shaderActivateProgram(this.program); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram(); }
@Override public void onRender(final JCGLInterfaceGL33Type g) { final JCGLArrayObjectsType g_ao = g.arrayObjects(); final JCGLClearType g_c = g.clearing(); final JCGLDrawType g_d = g.drawing(); final JCGLShadersType g_sh = g.shaders(); /* * Clear the window. */ g_c.clear(this.clear); /* * Activate the program, bind the created array object, draw a triangle. */ g_sh.shaderActivateProgram(this.program); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram(); }
@Test public final void testDrawElementsOK() { final Interfaces i = this.getInterfaces("main"); final JCGLArrayObjectsType go = i.getArrayObjects(); final JCGLIndexBuffersType gi = i.getIndexBuffers(); final JCGLDrawType gd = i.getDraw(); final JCGLIndexBufferType ib = gi.indexBufferAllocate( 100L, JCGLUnsignedType.TYPE_UNSIGNED_BYTE, JCGLUsageHint.USAGE_STATIC_DRAW); gi.indexBufferUnbind(); final JCGLArrayObjectBuilderType b = go.arrayObjectNewBuilder(); b.setIndexBuffer(ib); final JCGLArrayObjectType ao = go.arrayObjectAllocate(b); gd.drawElements(JCGLPrimitives.PRIMITIVE_POINTS); }
@Test public final void testDrawElementsOK() { final Interfaces i = this.getInterfaces("main"); final JCGLArrayObjectsType go = i.getArrayObjects(); final JCGLIndexBuffersType gi = i.getIndexBuffers(); final JCGLDrawType gd = i.getDraw(); final JCGLIndexBufferType ib = gi.indexBufferAllocate( 100L, JCGLUnsignedType.TYPE_UNSIGNED_BYTE, JCGLUsageHint.USAGE_STATIC_DRAW); gi.indexBufferUnbind(); final JCGLArrayObjectBuilderType b = go.arrayObjectNewBuilder(); b.setIndexBuffer(ib); final JCGLArrayObjectType ao = go.arrayObjectAllocate(b); gd.drawElements(JCGLPrimitives.PRIMITIVE_POINTS); }
@Override public void onRender(final JCGLInterfaceGL33Type g) { final JCGLArrayObjectsType g_ao = g.arrayObjects(); final JCGLClearType g_c = g.clearing(); final JCGLDrawType g_d = g.drawing(); final JCGLShadersType g_sh = g.shaders(); final JCGLTexturesType g_tex = g.textures(); /* * Clear the window. */ g_c.clear(this.clear); /* * Activate the program, bind the created array object, draw a triangle. */ final List<JCGLTextureUnitType> units = g_tex.textureGetUnits(); final JCGLTextureUnitType u0 = units.get(0); g_tex.texture2DBind(u0, this.texture); g_sh.shaderActivateProgram(this.program); g_sh.shaderUniformPutTexture2DUnit(this.texture_uniform, u0); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram(); }
@Override public void onRender(final JCGLInterfaceGL33Type g) { final JCGLArrayObjectsType g_ao = g.getArrayObjects(); final JCGLClearType g_c = g.getClear(); final JCGLDrawType g_d = g.getDraw(); final JCGLShadersType g_sh = g.getShaders(); final JCGLTexturesType g_tex = g.getTextures(); /** * Clear the window. */ g_c.clear(this.clear); /** * Activate the program, bind the created array object, draw a triangle. */ final List<JCGLTextureUnitType> units = g_tex.textureGetUnits(); final JCGLTextureUnitType u0 = units.get(0); g_tex.texture2DBind(u0, this.texture); g_sh.shaderActivateProgram(this.program); g_sh.shaderUniformPutTexture2DUnit(this.texture_uniform, u0); g_ao.arrayObjectBind(this.array_object); g_d.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); g_ao.arrayObjectUnbind(); g_sh.shaderDeactivateProgram(); }
tt.shader_single.onReceiveInstanceTransformValues(tt.g, mi); tt.shader_single.onValidate(); tt.g.getDraw().drawElements( JCGLPrimitives.PRIMITIVE_TRIANGLES); return Unit.unit();
@Override public void onInstanceSingle(final R2InstanceSingleType i) { final R2TransformReadableType it = i.transform(); final PMatrixReadable3x3FType<R2SpaceTextureType, R2SpaceTextureType> uv = i.uvMatrix(); this.matrices.withTransform(it, uv, this, (mi, t) -> { final JCGLTextureUnitContextType tc = t.texture_context.unitContextNew(); try { t.program.onReceiveMaterialValues( t.g33, t.configureMaterialParameters(tc, Unit.unit())); t.program.onReceiveInstanceTransformValues(t.g33, mi); t.program.onValidate(); t.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); } finally { tc.unitContextFinish(t.textures); } return Unit.unit(); }); }
gs.shaderUniformPutVector4f(u_data, x); ga.arrayObjectBind(this.quad); gd.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); ga.arrayObjectUnbind(); gs.shaderDeactivateProgram();
gs.shaderUniformPutVectorf(u_data, x); ga.arrayObjectBind(this.quad); gd.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); ga.arrayObjectUnbind(); gs.shaderDeactivateProgram();
private void clearStencilForClipVolume() { JCGLRenderStates.activate(this.g33, this.clip_screen_stencil_state); final JCGLTextureUnitContextType tc = this.input_state.light_base_context.unitContextNew(); try { this.clip_screen_stencil.onActivate(this.g33); try { this.clip_screen_stencil.onReceiveViewValues( this.g33, this.configureViewParameters()); this.clip_screen_stencil.onReceiveMaterialValues( this.g33, this.configureMaterialParameters(tc, Unit.unit())); this.clip_screen_stencil.onValidate(); this.array_objects.arrayObjectBind(this.quad.arrayObject()); try { this.draw.drawElements(JCGLPrimitives.PRIMITIVE_TRIANGLES); } finally { this.array_objects.arrayObjectUnbind(); } } finally { this.clip_screen_stencil.onDeactivate(this.g33); } } finally { tc.unitContextFinish(this.textures); } }