[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2019] trunk/py/scripts/addons/ io_scene_x3d/export_x3d.py: initial support for exporting textures to h3d

Campbell Barton ideasman42 at gmail.com
Wed Jun 8 08:57:30 CEST 2011


Revision: 2019
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2019
Author:   campbellbarton
Date:     2011-06-08 06:57:29 +0000 (Wed, 08 Jun 2011)
Log Message:
-----------
initial support for exporting textures to h3d

Modified Paths:
--------------
    trunk/py/scripts/addons/io_scene_x3d/export_x3d.py

Modified: trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2011-06-08 06:36:35 UTC (rev 2018)
+++ trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2011-06-08 06:57:29 UTC (rev 2019)
@@ -903,8 +903,8 @@
             fw('%s<ComposedShader DEF=%s language="GLSL" >\n' % (ident, material_id))
             ident += '\t'
 
-            shader_url_frag = 'shaders/glsl_%s.frag' % material_id
-            shader_url_vert = 'shaders/glsl_%s.vert' % material_id
+            shader_url_frag = 'shaders/glsl_%s.frag' % material_id[1:-1]
+            shader_url_vert = 'shaders/glsl_%s.vert' % material_id[1:-1]
 
             # write files
             shader_dir = os.path.join(dirname, 'shaders')
@@ -964,11 +964,41 @@
                 elif uniform['type'] == gpu.GPU_DYNAMIC_SAMPLER_2DBUFFER:
                     if uniform['datatype'] == gpu.GPU_DATA_1I:
                         if 1:
-                            value = ' '.join(['%d' % f for f in uniform['texpixels']])
+                            tex = uniform['texpixels']
+                            value = []
+                            for i in range(0, len(tex) - 1, 4):
+                                col = tex[i:i + 4]
+                                value += ['0x%.8x' % (col[0] + (col[1] << 8) + (col[2] << 16) + (col[3] << 24))]
+                            print(len(value))
+                            
+                            
+                            fw('%s<field name="%s" type="SFNode" accessType="inputOutput">\n' % (ident, uniform['varname']))
+
+                            ident += '\t'
+                            
+                            ident_step = ident + (' ' * (-len(ident) + \
+                            fw('%s<PixelTexture \n' % ident)))
+                            fw(ident_step + 'repeatS="true"\n')
+                            fw(ident_step + 'repeatT="true"\n')
+
+                            fw(ident_step + 'image="1 256 4 %s"\n' % " ".join(value))
+
+                            fw(ident_step + '/>\n')
+                            
+                            ident = ident[:-1]
+
+                            fw('%s</field>\n' % ident)
+                            
+                            #for i in range(0, 10, 4)
+                            #value = ' '.join(['%d' % f for f in uniform['texpixels']])
                             # value = ' '.join(['%.6g' % (f / 256) for f in uniform['texpixels']])
+                            
 
-                            fw('%s<field name="%s" type="SFInt32" accessType="inputOutput" value="%s" />\n' % (ident, uniform['varname'], value))
-                            print('test', len(uniform['texpixels']))
+                            #fw('%s<field name="%s" type="SFInt32" accessType="inputOutput" value="%s" />\n' % (ident, uniform['varname'], value))
+                            #print('test', len(uniform['texpixels']))
+                            
+                            
+                            
                     else:
                         assert(0)
 



More information about the Bf-extensions-cvs mailing list