rsProgramRaster.h revision 771565f47fc44608444c00aa8fa3bda769ceaece
15fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams/* 25fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Copyright (C) 2009 The Android Open Source Project 35fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 45fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 55fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * you may not use this file except in compliance with the License. 65fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * You may obtain a copy of the License at 75fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 85fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 95fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * 105fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * Unless required by applicable law or agreed to in writing, software 115fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 125fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * See the License for the specific language governing permissions and 145fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams * limitations under the License. 155fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams */ 165fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 175fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#ifndef ANDROID_RS_PROGRAM_RASTER_H 185fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#define ANDROID_RS_PROGRAM_RASTER_H 195fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 205fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#include "rsProgram.h" 215fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 225fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams// --------------------------------------------------------------------------- 235fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsnamespace android { 245fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsnamespace renderscript { 255fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 265fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRasterState; 275fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 285fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRaster : public Program 295fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams{ 305fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samspublic: 31e514b45de8561fbc6ef6770845102ca10b0a69d7Jason Sams ProgramRaster(Context *rsc, 325fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool pointSmooth, 335fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool lineSmooth, 345fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool pointSprite); 355fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams virtual ~ProgramRaster(); 365fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 375fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams virtual void setupGL(const Context *, ProgramRasterState *); 38c460e55d78cbe8bee95c5c947dfe541218142a5bJason Sams virtual void setupGL2(const Context *, ProgramRasterState *); 395fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 405fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams void setLineWidth(float w); 415fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams void setPointSize(float s); 425fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 435fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsprotected: 445fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mPointSmooth; 455fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mLineSmooth; 465fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams bool mPointSprite; 475fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 485fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams float mPointSize; 495fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams float mLineWidth; 505fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 515fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 525fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}; 535fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 545fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samsclass ProgramRasterState 555fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams{ 565fd09d847586f9680b4f495413b6ca5fbb69af6eJason Samspublic: 575fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ProgramRasterState(); 585fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ~ProgramRasterState(); 59771565f47fc44608444c00aa8fa3bda769ceaeceJason Sams void init(Context *rsc); 60f2649a961db2995e9e24a6c98f8a419f1496c1b7Jason Sams void deinit(Context *rsc); 615fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 625fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ObjectBaseRef<ProgramRaster> mDefault; 635fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams ObjectBaseRef<ProgramRaster> mLast; 645fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}; 655fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 665fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 675fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 685fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams} 695fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams#endif 705fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 715fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 725fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 735fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams 74