Metadata-Version: 2.1
Name: defoldsdk
Version: 1.2.7
Summary: Python Package made by Mhadhbi Issam . 
Home-page: https://gitlab.com/game-dev-comapny/libraries/defoldsdk.git
Author: mhadhbixissam
Author-email: mhadhbixissam@gmail.com
Project-URL: Documentation, https://pydefold.readthedocs.io/en/latest/
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: Pydefold==1.2.5
Requires-Dist: gitpython
Requires-Dist: jinja2

# DefoldSdk

## ♠ Install  
```bash
pip install DefoldSdk
```


## ♠ Getting started

### ♠♠ Example createing new material and assign it to model  : 
```python

from DefoldSdk import Project


x = Project()
x.new(name = "defoldproject" , path = ".")

modelMaterial= x.newMaterial(name = "pbr" , tags = ['model'])
modelMaterial.setvertex_constant(name='mtx_worldview',typ='Worldview')
modelMaterial.setvertex_constant(name='mtx_view',typ='View')
modelMaterial.setvertex_constant(name='mtx_proj',typ='Projection')
modelMaterial.setvertex_constant(name='mtx_normal',typ='Normal')
modelMaterial.setvertex_constant(name='light',typ='User')
modelMaterial.setfragment_constant(name = 'tint' , typ='User')
modelMaterial.setTexture(name='tex0')
modelMaterial.setvertex_space('local')
modelMaterial.vp = ''' 
    attribute highp vec4 position;
    attribute mediump vec2 texcoord0;
    attribute mediump vec3 normal;

    uniform mediump mat4 mtx_worldview;
    uniform mediump mat4 mtx_view;
    uniform mediump mat4 mtx_proj;
    uniform mediump mat4 mtx_normal;
    uniform mediump vec4 light;

    varying highp vec4 var_position;
    varying mediump vec3 var_normal;
    varying mediump vec2 var_texcoord0;
    varying mediump vec4 var_light;

    void main()
    {
        vec4 p = mtx_worldview * vec4(position.xyz, 1.0);
        var_light = mtx_view * vec4(light.xyz, 1.0);
        var_position = p;
        var_texcoord0 = texcoord0;
        var_normal = normalize((mtx_normal * vec4(normal, 0.0)).xyz);
        gl_Position = mtx_proj * p;
    }
    '''
modelMaterial.fp = ''' 
    varying highp vec4 var_position;
    varying mediump vec3 var_normal;
    varying mediump vec2 var_texcoord0;
    varying mediump vec4 var_light;

    uniform lowp sampler2D tex0;
    uniform lowp vec4 tint;

    void main()
    {
        // Pre-multiply alpha since all runtime textures already are
        vec4 tint_pm = vec4(tint.xyz * tint.w, tint.w);
        vec4 color = texture2D(tex0, var_texcoord0.xy) ;

        // Diffuse light calculations
        vec3 ambient_light = vec3(0.2);
        vec3 diff_light = vec3(normalize(var_light.xyz - var_position.xyz));
        diff_light = max(dot(var_normal,diff_light), 0.0) + ambient_light;
        diff_light = clamp(diff_light, 0.0, 1.0);

        gl_FragColor = vec4(color.rgb*diff_light,1.0);
    }
    '''

x.update()


```
