Skip to main content

Python Package made by Mhadhbi Issam .

Project description

DefoldSdk

♠ Install

pip install DefoldSdk

♠ Getting started

♠♠ Example createing new material and assign it to model :

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

defoldsdk-1.3.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

defoldsdk-1.3.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file defoldsdk-1.3.1.tar.gz.

File metadata

  • Download URL: defoldsdk-1.3.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for defoldsdk-1.3.1.tar.gz
Algorithm Hash digest
SHA256 900e93e53cc9e8ad44d9745c828dcb3041804ce225f348485047af313bde2f16
MD5 bccfdcb37e0867de02856c7c1b878ab1
BLAKE2b-256 9543566a9ecb1a3a70ba9adbfda31025fc8f15f957969736400d72d272944fec

See more details on using hashes here.

File details

Details for the file defoldsdk-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: defoldsdk-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for defoldsdk-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 822968407f4cf7a2a2b58dac1a0a96cefe64c6f51c1d1e2f04fc2acfae5e8415
MD5 eea0ffaf921599771bff85d83041bce4
BLAKE2b-256 d47d447b22f030664fa8ee177abde637167647e111366d32ede56128fe16f8e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page