istereo2

diff src/sdr.h @ 24:9d53a4938ce8

port to android mostly complete, ads not done, and needs some polishing
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 04 Oct 2015 08:15:24 +0300
parents 81d35769f546
children
line diff
     1.1 --- a/src/sdr.h	Sat Oct 03 06:10:30 2015 +0300
     1.2 +++ b/src/sdr.h	Sun Oct 04 08:15:24 2015 +0300
     1.3 @@ -1,21 +1,3 @@
     1.4 -/*
     1.5 -Stereoscopic tunnel for iOS.
     1.6 -Copyright (C) 2011  John Tsiombikas <nuclear@member.fsf.org>
     1.7 -
     1.8 -This program is free software: you can redistribute it and/or modify
     1.9 -it under the terms of the GNU General Public License as published by
    1.10 -the Free Software Foundation, either version 3 of the License, or
    1.11 -(at your option) any later version.
    1.12 -
    1.13 -This program is distributed in the hope that it will be useful,
    1.14 -but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.15 -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.16 -GNU General Public License for more details.
    1.17 -
    1.18 -You should have received a copy of the GNU General Public License
    1.19 -along with this program.  If not, see <http://www.gnu.org/licenses/>.
    1.20 -*/
    1.21 -
    1.22  #ifndef SDR_H_
    1.23  #define SDR_H_
    1.24  
    1.25 @@ -26,23 +8,25 @@
    1.26  /* ---- shaders ---- */
    1.27  unsigned int create_vertex_shader(const char *src);
    1.28  unsigned int create_pixel_shader(const char *src);
    1.29 +unsigned int create_tessctl_shader(const char *src);
    1.30 +unsigned int create_tesseval_shader(const char *src);
    1.31 +unsigned int create_geometry_shader(const char *src);
    1.32  unsigned int create_shader(const char *src, unsigned int sdr_type);
    1.33  void free_shader(unsigned int sdr);
    1.34  
    1.35  unsigned int load_vertex_shader(const char *fname);
    1.36  unsigned int load_pixel_shader(const char *fname);
    1.37 +unsigned int load_tessctl_shader(const char *fname);
    1.38 +unsigned int load_tesseval_shader(const char *fname);
    1.39 +unsigned int load_geometry_shader(const char *fname);
    1.40  unsigned int load_shader(const char *src, unsigned int sdr_type);
    1.41  
    1.42 -unsigned int get_vertex_shader(const char *fname);
    1.43 -unsigned int get_pixel_shader(const char *fname);
    1.44 -unsigned int get_shader(const char *fname, unsigned int sdr_type);
    1.45 -
    1.46  int add_shader(const char *fname, unsigned int sdr);
    1.47  int remove_shader(const char *fname);
    1.48  
    1.49  /* ---- gpu programs ---- */
    1.50  unsigned int create_program(void);
    1.51 -unsigned int create_program_link(unsigned int vs, unsigned int ps);
    1.52 +unsigned int create_program_link(unsigned int sdr0, ...);
    1.53  unsigned int create_program_load(const char *vfile, const char *pfile);
    1.54  void free_program(unsigned int sdr);
    1.55  
    1.56 @@ -52,6 +36,7 @@
    1.57  
    1.58  int set_uniform_int(unsigned int prog, const char *name, int val);
    1.59  int set_uniform_float(unsigned int prog, const char *name, float val);
    1.60 +int set_uniform_float2(unsigned int prog, const char *name, float x, float y);
    1.61  int set_uniform_float3(unsigned int prog, const char *name, float x, float y, float z);
    1.62  int set_uniform_float4(unsigned int prog, const char *name, float x, float y, float z, float w);
    1.63  int set_uniform_matrix4(unsigned int prog, const char *name, float *mat);