About Store Forum Documentation Contact



Post Reply 
[Android] Samsung Tab 3 & 4
Author Message
MrPi Offline
Member

Post: #1
[Android] Samsung Tab 3 & 4
Hi Greg,

there is an issue with Samsung Tab 3 and 4 as we currently found out launching our game to the public.
I've come across one error log file which I have attached.
It looks similar to the shader problem that occured (and seems to have been fixed) a while ago.

Error accessing ShaderTech "Draw2DTex" in Shader "Main".
Error linking vertex+pixel shader in technique "Draw2DTex" of shader "Main"

Log file attached.


Attached File(s)
.txt  Esenthel Error.txt (Size: 95.5 KB / Downloads: 4)
02-28-2015 09:56 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #2
RE: [Android] Samsung Tab 3 & 4
Unfortunately I don't own any of these devices and don't see anything wrong with the shader.
"Error linking vertex+pixel shader" is an indication that OpenGL fails to stitch the Vertex and Pixel shaders together.
This could be a reason for varyings being defined differently for VS and PS.
That's why I've introduced BP macro to autodetect best precision available on both VS and PS, to make sure both varyings have same precision, however it seems it's not enough for these devices.
02-28-2015 10:43 PM
Find all posts by this user Quote this message in a reply
MrPi Offline
Member

Post: #3
RE: [Android] Samsung Tab 3 & 4
I think this device is still used fairly often because of its price.
How much would a used device cost you? I'd be willing to support you there so you can make the shaders work with it.
03-01-2015 04:27 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #4
RE: [Android] Samsung Tab 3 & 4
Thank you, I'll look around the average price and will see what's there.
03-04-2015 10:24 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #5
RE: [Android] Samsung Tab 3 & 4
Hello,

I'm checking the prices, however there are several models of Galaxy Tab 3:
7.0 Lite - http://www.gsmarena.com/samsung_galaxy_t...0-5969.php
7.0 - http://www.gsmarena.com/samsung_galaxy_t...0-5422.php
8.0 - http://www.gsmarena.com/samsung_galaxy_t...0-5456.php
10.1 - http://www.gsmarena.com/samsung_galaxy_t...0-5491.php

Each of these models has a different GPU, so it's possible that it has different OpenGL GPU driver, so I would need to know first which model does not work, so I could get the same one.

The same story is with Tab 4:
7.0 - http://www.gsmarena.com/samsung_galaxy_t...0-6251.php
8.0 - http://www.gsmarena.com/samsung_galaxy_t...0-6249.php
10.1 - http://www.gsmarena.com/samsung_galaxy_t...1-6247.php
10.1 (2015) - http://www.gsmarena.com/samsung_galaxy_t...)-6980.php
03-05-2015 11:21 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #6
RE: [Android] Samsung Tab 3 & 4
03-05-2015 11:27 PM
Find all posts by this user Quote this message in a reply
MrPi Offline
Member

Post: #7
RE: [Android] Samsung Tab 3 & 4
I have two reports from these devices for example:

GALAXY Tab 3 SM-T210
03-07-2015 11:51 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #8
RE: [Android] Samsung Tab 3 & 4
Hello,

I've added this to the store: http://www.esenthel.com/?id=store&cat=4
Once the purchase is made I'll order the device and then start working on the compatibility issue.

Before making the purchase however, please consider if it's worth the money and effort, as I'm not sure if Galaxy Tab 3 is an important device for now and the future.
It's 2 generations behind the latest model (Galaxy Tab 4 and Galaxy Tab S).

For example some months ago I've spent time on making the engine work on Galaxy Tab 2, and now I'm not sure if there's anyone still using this sort of device. I'm wondering if Tab 3 soon will become extinct too.

Apple iPad is still the king.

Couldn't find some better tablet chart sales, so this is tablet usage from US only:
http://marketingland.com/tablet-traffic-...ant-107044
[Image: Screen-Shot-2014-11-06-at-1.23.40-PM-800x592.png]
03-09-2015 11:25 PM
Find all posts by this user Quote this message in a reply
MrPi Offline
Member

Post: #9
RE: [Android] Samsung Tab 3 & 4
With the low users that we have we almost see the same amount of sales on Android and iOS, with even less users on Android.

Ok, here's the thing. I'm not willing to spend 350 for this. You can get a used model for less than 80€ on ebay, not even an auction. That's totally enough for testing.
Also, it's not only Tab3, I got reports of Tab4 as well. Still fetching the exact model of it.

I think it should be in your interest to fix this, as Samsung is a huge manufacturer of Android devices and it's just plain bad to not support that famous line of devices.
(This post was last modified: 03-17-2015 11:00 AM by MrPi.)
03-17-2015 10:57 AM
Find all posts by this user Quote this message in a reply
MrPi Offline
Member

Post: #10
RE: [Android] Samsung Tab 3 & 4
This model has the same issue:
Samsung Galaxy Tab4 SM-T230 7.0"
03-18-2015 04:21 PM
Find all posts by this user Quote this message in a reply
kevindekever Offline
Member

Post: #11
RE: [Android] Samsung Tab 3 & 4
sm-t110 same problem (Samsung: Galaxy Tab 3 Lite)
but you missed

Code:
Time(10:14:32), App(CustomFrequencyManagerService): releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1205000  uid : 1000  pid : 511  tag : ACTIVITY_RESUME_BOOSTER@11
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(v_gal): [tid=2441] gl2mERROR: result=0x0501 @ glBindAttribLocation(3103)
Time(10:14:32), App(Esenthel): Error accessing ShaderTech "Draw2DTex" in Shader "Main".
Time(10:14:32), App(Esenthel): Error linking vertex+pixel shader in technique "Draw2DTex" of shader "Main"

perhaps? :

http://stackoverflow.com/questions/19073...alid-value
http://stackoverflow.com/questions/22646...laxy-tab-3
(This post was last modified: 09-20-2015 09:47 AM by kevindekever.)
09-20-2015 09:39 AM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #12
RE: [Android] Samsung Tab 3 & 4
I'll add a workaround for max vertex attributes for next release, let's see if that will help.
09-20-2015 11:58 AM
Find all posts by this user Quote this message in a reply
kevindekever Offline
Member

Post: #13
RE: [Android] Samsung Tab 3 & 4
(09-20-2015 11:58 AM)Esenthel Wrote:  I'll add a workaround for max vertex attributes for next release, let's see if that will help.

thanks, take your time. My developement device is the AcerIconia A1-810 no problems
09-20-2015 04:57 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #14
RE: [Android] Samsung Tab 3 & 4
Hi, the update is available, I'm curious if it solved the Galaxy Tab 3/4 issue.
10-13-2015 11:15 PM
Find all posts by this user Quote this message in a reply
kevindekever Offline
Member

Post: #15
RE: [Android] Samsung Tab 3 & 4
how to turn off charboost?
Code:
Time(10:58:18), App(System.err): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
Time(10:58:18), App(System.err):     at com.chartboost.sdk.b.r(SourceFile:453)
Time(10:58:18), App(System.err):     at com.chartboost.sdk.Chartboost.onStart(SourceFile:201)
Time(10:58:18), App(System.err):     at com.kever.basicapp.EsenthelActivity.onStart(EsenthelActivity.java:294)
Time(10:58:18), App(System.err):     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1181)
Time(10:58:18), App(System.err):     at android.app.Activity.performStart(Activity.java:5336)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2234)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.access$700(ActivityThread.java:158)
Time(10:58:18), App(System.err):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
Time(10:58:18), App(System.err):     at android.os.Handler.dispatchMessage(Handler.java:99)
Time(10:58:18), App(System.err):     at android.os.Looper.loop(Looper.java:176)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.main(ActivityThread.java:5365)
Time(10:58:18), App(System.err):     at java.lang.reflect.Method.invokeNative(Native Method)
Time(10:58:18), App(System.err):     at java.lang.reflect.Method.invoke(Method.java:511)
Time(10:58:18), App(System.err):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)​
Time(10:58:18), App(System.err):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
Time(10:58:18), App(System.err):     at dalvik.system.NativeStart.main(Native Method)
Time(10:58:18), App(System.err): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
Time(10:58:18), App(System.err):     at com.chartboost.sdk.b.r(SourceFile:453)
Time(10:58:18), App(System.err):     at com.chartboost.sdk.Chartboost.onResume(SourceFile:372)
Time(10:58:18), App(System.err):     at com.kever.basicapp.EsenthelActivity.onResume(EsenthelActivity.java:282)
Time(10:58:18), App(System.err):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1202)
Time(10:58:18), App(System.err):     at android.app.Activity.performResume(Activity.java:5404)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2837)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2903)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2321)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.access$700(ActivityThread.java:158)
Time(10:58:18), App(System.err):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
Time(10:58:18), App(System.err):     at android.os.Handler.dispatchMessage(Handler.java:99)
Time(10:58:18), App(System.err):     at android.os.Looper.loop(Looper.java:176)
Time(10:58:18), App(System.err):     at android.app.ActivityThread.main(ActivityThread.java:5365)
Time(10:58:18), App(System.err):     at java.lang.reflect.Method.invokeNative(Native Method)
Time(10:58:18), App(System.err):     at java.lang.reflect.Method.invoke(Method.java:511)
Time(10:58:18), App(System.err):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)​
Time(10:58:18), App(System.err):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
Time(10:58:18), App(System.err):     at dalvik.system.NativeStart.main(Native Method)

Code:
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(libOpenSLES): class OutputMix interface 0 requested but unavailable MPH=28
Time(10:58:18), App(libOpenSLES): Leaving Engine::CreateListener (SL_RESULT_FEATURE_UNSUPPORTED)
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(LicenseLogService): log() is called by non admin
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(libEGL): loaded /system/lib/egl/libEGL_MRVL.so
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(libEGL): loaded /system/lib/egl/libGLESv1_CM_MRVL.so
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(libEGL): loaded /system/lib/egl/libGLESv2_MRVL.so
Time(10:58:18), App(v_hwc): hwc prepare: 3D composition
Time(10:58:18), App(GC): <tid=20792> OES20 ===> GC Version   : GC Ver SS_rls_pxa988_JB42_R1_RC2_GC13.15
Time(10:58:18), App(GC):
Time(10:58:18), App(GC): <tid=20792> OES20 ===> GC Version   : GC Ver SS_rls_pxa988_JB42_R1_RC2_GC13.15
Time(10:58:18), App(GC):
Time(10:58:19), App(v_gal): [tid=20792] gl2mERROR: result=0x0500 @ glTexImage2D(2344)
Time(10:58:19), App(v_gal): [tid=20792] gl2mERROR: result=0x0500 @ glTexImage2D(2344)
Time(10:58:19), App(v_gal): [tid=20792] gl2mERROR: result=0x0500 @ glTexImage2D(2344)
Time(10:58:19), App(Finsky): [1] FinskyApp.onCreate: Initializing network with DFE https://android.clients.google.com/fdfe/
Time(10:58:19), App(EventRelay): Send intent to cmd socket: Intent { act=com.sec.android.intent.action.CPU_BOOSTER_MIN flg=0x10 (has extras) }
Time(10:58:19), App(CustomFrequencyManagerService): releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1205000  uid : 1000  pid : 513  tag : ACTIVITY_RESUME_BOOSTER@11

Code:
ime(10:58:19), App(Esenthel): Error accessing ShaderTech "Draw2DTex" in Shader "Main".
Time(10:58:19), App(Esenthel): Error linking vertex+pixel shader in technique "Draw2DTex" of shader "Main"
Time(10:58:19), App(Esenthel): Vertex Shader:
Time(10:58:19), App(Esenthel): #ifdef GL_ES
Time(10:58:19), App(Esenthel): #define LP lowp
Time(10:58:19), App(Esenthel): #define MP mediump
Time(10:58:19), App(Esenthel): #define HP highp
Time(10:58:19), App(Esenthel): precision highp float;
Time(10:58:19), App(Esenthel): precision highp int;
Time(10:58:19), App(Esenthel): #else
Time(10:58:19), App(Esenthel): #define LP
Time(10:58:19), App(Esenthel): #define MP
Time(10:58:19), App(Esenthel): #define HP
Time(10:58:19), App(Esenthel): #endif
Time(10:58:19), App(Esenthel): #define COLOR 0
Time(10:58:19), App(Esenthel): #define PAR uniform
Time(10:58:19), App(Esenthel): #define VAR varying
Time(10:58:19), App(Esenthel): #define EPS 0.0001
Time(10:58:19), App(Esenthel): #define EPSL 0.01
Time(10:58:19), App(Esenthel): #define PI 3.14159265
Time(10:58:19), App(Esenthel): #define PI2 6.28318531
Time(10:58:19), App(Esenthel): #define SBUMP_ZERO 0
Time(10:58:19), App(Esenthel): #define SBUMP_FLAT 1
Time(10:58:19), App(Esenthel): #define SBUMP_NORMAL 2
Time(10:58:19), App(Esenthel): #define FX_NONE 0
Time(10:58:19), App(Esenthel): #define FX_GRASS 1
Time(10:58:19), App(Esenthel): #define FX_LEAF 2
Time(10:58:19), App(Esenthel): #define FX_LEAFS 3
Time(10:58:19), App(Esenthel): #define FX_BONE 4
Time(10:58:19), App(Esenthel): #define Sat(x) clamp(x,0.0,1.0)
Time(10:58:19), App(Esenthel): MP float Sum(MP vec2 v){return v.x+v.y;}
Time(10:58:19), App(Esenthel): MP float Sum(MP vec3 v){return v.x+v.y+v.z;}
Time(10:58:19), App(Esenthel): MP float Sum(MP vec4 v){return v.x+v.y+v.z+v.w;}
Time(10:58:19), App(Esenthel): MP float Sqr(MP float x){return x*x;}
Time(10:58:19), App(Esenthel): MP vec2 Sqr(MP vec2 x){return x*x;}
Time(10:58:19), App(Esenthel): MP float Cube(MP float x){return x*x*x;}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec2 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec3 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec4 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): MP vec2 Rotate(MP vec2 vec,MP vec2 cos_sin)
Time(10:58:19), App(Esenthel): {
Time(10:58:19), App(Esenthel): return vec2(vec.x*cos_sin.x-vec.y*cos_sin.y,
Time(10:58:19), App(Esenthel): vec.x*cos_sin.y+vec.y*cos_sin.x);
Time(10:58:19), App(Esenthel): }
Time(10:58:19), App(Esenthel): MP float LerpR(MP float from,MP float to,MP float v){return(v-from)/(to-from);}
Time(10:58:19), App(Esenthel): MP float LerpRS(MP float from,MP float to,MP float v){return Sat((v-from)/(to-from));}
Time(10:58:19), App(Esenthel): LP float LPMax(LP float x,LP float y,LP float z,LP float w){return max(x,max(y,max(z,w)));}
Time(10:58:19), App(Esenthel): LP float LPMax(LP vec4 v){return LPMax(v.x,v.y,v.z,v.w);}
Time(10:58:19), App(Esenthel): VAR HP vec2 IO_tex;
Time(10:58:19), App(Esenthel): PAR HP float VtxHeightmap;
Time(10:58:19), App(Esenthel): PAR MP float VtxSkinning;
Time(10:58:19), App(Esenthel): #define ATTR attribute
Time(10:58:19), App(Esenthel): ATTR HP vec4 ATTR0;
Time(10:58:19), App(Esenthel): ATTR MP vec3 ATTR9;
Time(10:58:19), App(Esenthel): ATTR MP vec3 ATTR1;
Time(10:58:19), App(Esenthel): ATTR MP vec4 ATTR2;
Time(10:58:19), App(Esenthel): ATTR HP vec2 ATTR3;
Time(10:58:19), App(Esenthel): ATTR HP vec2 ATTR4;
Time(10:58:19), App(Esenthel): ATTR HP vec2 ATTR11;
Time(10:58:19), App(Esenthel): ATTR MP float ATTR10;
Time(10:58:19), App(Esenthel): ATTR MP vec3 ATTR5;
Time(10:58:19), App(Esenthel): ATTR MP vec3 ATTR6;
Time(10:58:19), App(Esenthel): ATTR LP vec4 ATTR8;
Time(10:58:19), App(Esenthel): ATTR LP vec4 ATTR7;
Time(10:58:19), App(Esenthel): MP vec3 vtx_nrm(){return ATTR1;}
Time(10:58:19), App(Esenthel): MP vec3 vtx_tan(){return ATTR2.xyz;}
Time(10:58:19), App(Esenthel): MP float vtx_tanW(){return ATTR2.w;}
Time(10:58:19), App(Esenthel): HP vec4 vtx_pos4(){return ATTR0;}
Time(10:58:19), App(Esenthel): HP vec3 vtx_pos(){return ATTR0.xyz;}
Time(10:58:19), App(Esenthel): MP vec3 vtx_hlp(){return ATTR9;}
Time(10:58:19), App(Esenthel): HP vec2 vtx_tex(const bool can_be_heightmap){return(can_be_heightmap&&bool(VtxHeightmap))?ATTR0.xz*vec2(VtxHeightmap,-VtxHeightmap):ATTR3;}
Time(10:58:19), App(Esenthel): HP vec2 vtx_tex1(){return ATTR4;}
Time(10:58:19), App(Esenthel): HP vec2 vtx_tex2(){return ATTR11;}
Time(10:58:19), App(Esenthel): MP ivec3 vtx_bone(){return bool(VtxSkinning)?ivec3(ATTR5):ivec3(0,0,0);}
Time(10:58:19), App(Esenthel): #ifdef GL_ES
Time(10:58:19), App(Esenthel): MP vec3 vtx_weight(){MP float w=ATTR6.x/(ATTR6.x+ATTR6.y);return vec3(w,1.0-w,0.0);}
Time(10:58:19), App(Esenthel): #else
Time(10:58:19), App(Esenthel): MP vec3 vtx_weight(){return ATTR6;}
Time(10:58:19), App(Esenthel): #endif
Time(10:58:19), App(Esenthel): LP vec4 vtx_color(){return ATTR7;}
Time(10:58:19), App(Esenthel): LP vec4 vtx_material(){return ATTR8;}
Time(10:58:19), App(Esenthel): MP float vtx_size(){return ATTR10;}
Time(10:58:19), App(Esenthel): PAR HP vec2 PixSize;
Time(10:58:19), App(Esenthel): PAR HP vec4 Coords;
Time(10:58:19), App(Esenthel): void main()
Time(10:58:19), App(Esenthel): {
Time(10:58:19), App(Esenthel): gl_Position=vec4(vtx_pos().xy*Coords.xy+Coords.zw,0.0,1.0);
Time(10:58:19), App(Esenthel): IO_tex=vtx_tex(false);
Time(10:58:19), App(Esenthel): }
Time(10:58:19), App(Esenthel): Pixel Shader:
Time(10:58:19), App(Esenthel): #extension GL_ARB_shader_texture_lod:enable
Time(10:58:19), App(Esenthel): #extension GL_EXT_shader_texture_lod:enable
Time(10:58:19), App(Esenthel): #extension GL_EXT_shadow_samplers:enable
Time(10:58:19), App(Esenthel): #ifdef GL_ES
Time(10:58:19), App(Esenthel): #define texture2DLod texture2DLodEXT
Time(10:58:19), App(Esenthel): #define shadow2DProj shadow2DProjEXT
Time(10:58:19), App(Esenthel): #define LP lowp
Time(10:58:19), App(Esenthel): #define MP mediump
Time(10:58:19), App(Esenthel): #define HP highp
Time(10:58:19), App(Esenthel): precision LP float;
Time(10:58:19), App(Esenthel): precision LP int;
Time(10:58:19), App(Esenthel): #else
Time(10:58:19), App(Esenthel): #define LP
Time(10:58:19), App(Esenthel): #define MP
Time(10:58:19), App(Esenthel): #define HP
Time(10:58:19), App(Esenthel): #endif
Time(10:58:19), App(Esenthel): #define COLOR 0
Time(10:58:19), App(Esenthel): #define PAR uniform
Time(10:58:19), App(Esenthel): #define VAR varying
Time(10:58:19), App(Esenthel): #define EPS 0.0001
Time(10:58:19), App(Esenthel): #define EPSL 0.01
Time(10:58:19), App(Esenthel): #define PI 3.14159265
Time(10:58:19), App(Esenthel): #define PI2 6.28318531
Time(10:58:19), App(Esenthel): #define SBUMP_ZERO 0
Time(10:58:19), App(Esenthel): #define SBUMP_FLAT 1
Time(10:58:19), App(Esenthel): #define SBUMP_NORMAL 2
Time(10:58:19), App(Esenthel): #define FX_NONE 0
Time(10:58:19), App(Esenthel): #define FX_GRASS 1
Time(10:58:19), App(Esenthel): #define FX_LEAF 2
Time(10:58:19), App(Esenthel): #define FX_LEAFS 3
Time(10:58:19), App(Esenthel): #define FX_BONE 4
Time(10:58:19), App(Esenthel): #define Sat(x) clamp(x,0.0,1.0)
Time(10:58:19), App(Esenthel): MP float Sum(MP vec2 v){return v.x+v.y;}
Time(10:58:19), App(Esenthel): MP float Sum(MP vec3 v){return v.x+v.y+v.z;}
Time(10:58:19), App(Esenthel): MP float Sum(MP vec4 v){return v.x+v.y+v.z+v.w;}
Time(10:58:19), App(Esenthel): MP float Sqr(MP float x){return x*x;}
Time(10:58:19), App(Esenthel): MP vec2 Sqr(MP vec2 x){return x*x;}
Time(10:58:19), App(Esenthel): MP float Cube(MP float x){return x*x*x;}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec2 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec3 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): HP float Length2(HP vec4 v){return dot(v,v);}
Time(10:58:19), App(Esenthel): MP vec2 Rotate(MP vec2 vec,MP vec2 cos_sin)
Time(10:58:19), App(Esenthel): {
Time(10:58:19), App(Esenthel): return vec2(vec.x*cos_sin.x-vec.y*cos_sin.y,
Time(10:58:19), App(Esenthel): vec.x*cos_sin.y+vec.y*cos_sin.x);
Time(10:58:19), App(Esenthel): }
Time(10:58:19), App(Esenthel): MP float LerpR(MP float from,MP float to,MP float v){return(v-from)/(to-from);}
Time(10:58:19), App(Esenthel): MP float LerpRS(MP float from,MP float to,MP float v){return Sat((v-from)/(to-from));}
Time(10:58:19), App(Esenthel): LP float LPMax(LP float x,LP float y,LP float z,LP float w){return max(x,max(y,max(z,w)));}
Time(10:58:19), App(Esenthel): LP float LPMax(LP vec4 v){return LPMax(v.x,v.y,v.z,v.w);}
Time(10:58:19), App(Esenthel): VAR HP vec2 IO_tex;
Time(10:58:19), App(Esenthel): #define AlphaTest(alpha) if(alpha+MaterialColor().a<1.0)discard
Time(10:58:19), App(Esenthel): PAR sampler2D Col,Col1,Col2,Col3,
Time(10:58:19), App(Esenthel): Nrm,Nrm1,Nrm2,Nrm3,
Time(10:58:19), App(Esenthel): Lum;
Time(10:58:19), App(Esenthel): PAR samplerCube Rfl;
Time(10:58:19), App(Esenthel): PAR MP float AllowBackFlip;
Time(10:58:19), App(Esenthel): #define BackFlip(dir) {if(gl_FrontFacing==false)dir*=AllowBackFlip;}
Time(10:58:19), App(Esenthel): struct ViewportClass
Time(10:58:19), App(Esenthel): {
Time(10:58:19), App(Esenthel): HP float from,range;
Time(10:58:19), App(Esenthel): HP vec2 clamp_min,clamp_max,center,size,size_fov_tan;
Time(10:58:19), App(Esenthel): HP vec4 FracToPosXY,ScreenToPosXY,PosToScreen;
Time(10:58:19), App(Esenthel): };
Time(10:58:19), App(Esenthel): PAR ViewportClass Viewport;
Time(10:58:19), App(Esenthel): HP vec2 ViewportClamp(HP vec2 screen,const bool do_clamp){return do_clamp?clamp(screen,Viewport.clamp_min,Viewport.clamp_max):screen;}
Time(10:58:19), App(Esenthel): PAR LP vec4 Color[4];
Time(10:58:19), App(Esenthel): void main()
Time(10:58:19), App(Esenthel): {
Time(10:58:19), App(Esenthel): #if COLOR!=0
Time(10:58:19), App(Esenthel): gl_FragColor=texture2D(Col,IO_tex)*Color[0]+Color[1];
Time(10:58:19), App(Esenthel): #else
Time(10:58:19), App(Esenthel): gl_FragColor=texture2D(Col,IO_tex);
Time(10:58:19), App(Esenthel): #endif
Time(10:58:19), App(Esenthel): }
(This post was last modified: 10-14-2015 10:14 AM by kevindekever.)
10-14-2015 10:04 AM
Find all posts by this user Quote this message in a reply
Post Reply