Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Side by Side Diff: samples/samples_gen.py

Issue 1793004: Added rules which generate WebGL-compatible assets to samples_gen.py.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/o3d/
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « samples/o3d-webgl-samples/helloworld.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import posixpath 6 import posixpath
7 import sys 7 import sys
8 import os.path 8 import os.path
9 9
10 output_filename = 'samples_gen.gyp' 10 output_filename = 'samples_gen.gyp'
(...skipping 21 matching lines...) Expand all
32 {'path': 'convert_assets/dome1.zip', 'up': y_up}, 32 {'path': 'convert_assets/dome1.zip', 'up': y_up},
33 {'path': 'convert_assets/dome2.zip', 'up': y_up}, 33 {'path': 'convert_assets/dome2.zip', 'up': y_up},
34 {'path': 'convert_assets/dome3.zip', 'up': y_up}, 34 {'path': 'convert_assets/dome3.zip', 'up': y_up},
35 {'path': 'convert_assets/dome4.zip', 'up': y_up}, 35 {'path': 'convert_assets/dome4.zip', 'up': y_up},
36 {'path': 'convert_assets/kitty_151_idle_stand05_cff1.zip', 'up': y_up}, 36 {'path': 'convert_assets/kitty_151_idle_stand05_cff1.zip', 'up': y_up},
37 {'path': 'convert_assets/part1.zip', 'up': y_up}, 37 {'path': 'convert_assets/part1.zip', 'up': y_up},
38 {'path': 'convert_assets/part2.zip', 'up': y_up}, 38 {'path': 'convert_assets/part2.zip', 'up': y_up},
39 {'path': 'convert_assets/part3.zip', 'up': y_up}, 39 {'path': 'convert_assets/part3.zip', 'up': y_up},
40 {'path': 'convert_assets/seven_shapes.zip', 'up': y_up}, 40 {'path': 'convert_assets/seven_shapes.zip', 'up': y_up},
41 {'path': 'convert_assets/stencil_frame.zip', 'up': y_up}, 41 {'path': 'convert_assets/stencil_frame.zip', 'up': y_up},
42 {'path': 'convert_assets/teapot.zip', 'up': y_up}, 42 {'path': 'convert_assets/teapot.zip', 'up': y_up, 'webgl': True},
43 {'path': 'convert_assets/yard.zip', 'up': y_up}, 43 {'path': 'convert_assets/yard.zip', 'up': y_up},
44 {'path': 'home-configurators/convert_cbassets/Agra_Rug.kmz', 'up': z_up}, 44 {'path': 'home-configurators/convert_cbassets/Agra_Rug.kmz', 'up': z_up},
45 {'path': 'home-configurators/convert_cbassets/Asimi_Rug.kmz', 'up': z_up}, 45 {'path': 'home-configurators/convert_cbassets/Asimi_Rug.kmz', 'up': z_up},
46 {'path': 'home-configurators/convert_cbassets/Camden_Chair.kmz', 'up': z_up}, 46 {'path': 'home-configurators/convert_cbassets/Camden_Chair.kmz', 'up': z_up},
47 {'path': 'home-configurators/convert_cbassets/Elements_Bookshelf.kmz', 'up': z_ up}, 47 {'path': 'home-configurators/convert_cbassets/Elements_Bookshelf.kmz', 'up': z_ up},
48 {'path': 'home-configurators/convert_cbassets/Ferrara_Rug.kmz', 'up': z_up}, 48 {'path': 'home-configurators/convert_cbassets/Ferrara_Rug.kmz', 'up': z_up},
49 {'path': 'home-configurators/convert_cbassets/House_Roofless.kmz', 'up': z_up}, 49 {'path': 'home-configurators/convert_cbassets/House_Roofless.kmz', 'up': z_up},
50 {'path': 'home-configurators/convert_cbassets/Lounge_Chair.kmz', 'up': z_up}, 50 {'path': 'home-configurators/convert_cbassets/Lounge_Chair.kmz', 'up': z_up},
51 {'path': 'home-configurators/convert_cbassets/Lounge_Chaise.kmz', 'up': z_up}, 51 {'path': 'home-configurators/convert_cbassets/Lounge_Chaise.kmz', 'up': z_up},
52 {'path': 'home-configurators/convert_cbassets/Lounge_Sofa.kmz', 'up': z_up}, 52 {'path': 'home-configurators/convert_cbassets/Lounge_Sofa.kmz', 'up': z_up},
53 {'path': 'home-configurators/convert_cbassets/Lounge_Storage_Ottoman.kmz', 'up' : z_up}, 53 {'path': 'home-configurators/convert_cbassets/Lounge_Storage_Ottoman.kmz', 'up' : z_up},
54 {'path': 'home-configurators/convert_cbassets/Madison_Dining_Table.kmz', 'up': z_up}, 54 {'path': 'home-configurators/convert_cbassets/Madison_Dining_Table.kmz', 'up': z_up},
55 {'path': 'home-configurators/convert_cbassets/Miles_Side_Chair.kmz', 'up': z_up }, 55 {'path': 'home-configurators/convert_cbassets/Miles_Side_Chair.kmz', 'up': z_up },
56 {'path': 'home-configurators/convert_cbassets/Pullman_Bar_Stool.kmz', 'up': z_u p}, 56 {'path': 'home-configurators/convert_cbassets/Pullman_Bar_Stool.kmz', 'up': z_u p},
57 {'path': 'home-configurators/convert_cbassets/Puzzle_TV_Stand.kmz', 'up': z_up} , 57 {'path': 'home-configurators/convert_cbassets/Puzzle_TV_Stand.kmz', 'up': z_up} ,
58 {'path': 'home-configurators/convert_cbassets/Stow_Leather_Ottoman.kmz', 'up': z_up}, 58 {'path': 'home-configurators/convert_cbassets/Stow_Leather_Ottoman.kmz', 'up': z_up},
59 {'path': 'home-configurators/convert_cbassets/Tivoli_Dining_Table.kmz', 'up': z _up}, 59 {'path': 'home-configurators/convert_cbassets/Tivoli_Dining_Table.kmz', 'up': z _up},
60 {'path': 'home-configurators/convert_cbassets/Tivoli_Miles_Dining_Set.kmz', 'up ': z_up}, 60 {'path': 'home-configurators/convert_cbassets/Tivoli_Miles_Dining_Set.kmz', 'up ': z_up},
61 {'path': 'home-configurators/convert_cbassets/Troy_Chair.kmz', 'up': z_up}, 61 {'path': 'home-configurators/convert_cbassets/Troy_Chair.kmz', 'up': z_up},
62 {'path': 'home-configurators/convert_cbassets/Troy_Ottoman.kmz', 'up': z_up}, 62 {'path': 'home-configurators/convert_cbassets/Troy_Ottoman.kmz', 'up': z_up},
63 {'path': 'home-configurators/convert_cbassets/Troy_Sofa.kmz', 'up': z_up}, 63 {'path': 'home-configurators/convert_cbassets/Troy_Sofa.kmz', 'up': z_up},
64 {'path': 'home-configurators/convert_cbassets/Troy_Storage_Ottoman.kmz', 'up': z_up}, 64 {'path': 'home-configurators/convert_cbassets/Troy_Storage_Ottoman.kmz', 'up': z_up},
65 {'path': 'home-configurators/convert_cbassets/Troy_Twin_Sleeper.kmz', 'up': z_u p}, 65 {'path': 'home-configurators/convert_cbassets/Troy_Twin_Sleeper.kmz', 'up': z_u p},
66 {'path': 'io/convert_levels/all_actors.kmz', 'up': y_up}, 66 {'path': 'io/convert_levels/all_actors.kmz', 'up': y_up},
67 {'path': 'io/convert_levels/map1.kmz', 'up': y_up}, 67 {'path': 'io/convert_levels/map1.kmz', 'up': y_up},
68 {'path': 'simpleviewer/convert_assets/cube.zip', 'up': y_up}, 68 {'path': 'simpleviewer/convert_assets/cube.zip', 'up': y_up, 'webgl': True},
69 ] 69 ]
70 70
71 output_file.write("""# Copyright (c) 2009 The Chromium Authors. All rights reser ved. 71 output_file.write("""# Copyright (c) 2009 The Chromium Authors. All rights reser ved.
72 # Use of this source code is governed by a BSD-style license that can be 72 # Use of this source code is governed by a BSD-style license that can be
73 # found in the LICENSE file. 73 # found in the LICENSE file.
74 74
75 { 75 {
76 'variables': { 76 'variables': {
77 'chromium_code': 1, 77 'chromium_code': 1,
78 }, 78 },
79 'includes': [ 79 'includes': [
80 '../build/common.gypi', 80 '../build/common.gypi',
81 ], 81 ],
82 'targets': [ 82 'targets': [
83 { 83 {
84 'target_name': 'build_samples', 84 'target_name': 'build_samples',
85 'type': 'none', 85 'type': 'none',
86 'dependencies': [ 86 'dependencies': [
87 '../converter/converter.gyp:o3dConverter', 87 '../converter/converter.gyp:o3dConverter',
88 ], 88 ],
89 'actions': [\n""") 89 'actions': [\n""")
90 for asset in assets: 90
91 def write_action(asset, webgl_mode):
91 filename = posixpath.splitext(posixpath.basename(asset['path']))[0] 92 filename = posixpath.splitext(posixpath.basename(asset['path']))[0]
92 filename = filename.replace('.','_') 93 filename = filename.replace('.','_')
93 filename = filename.replace('-','_') 94 filename = filename.replace('-','_')
94 filename = filename.lower() 95 filename = filename.lower()
95 name = "convert_" + filename 96 name = "convert_" + filename
97 if webgl_mode:
98 name = name + "_webgl"
96 output = asset['path'].replace('convert_', '') 99 output = asset['path'].replace('convert_', '')
97 output = posixpath.splitext(output)[0] + ".o3dtgz" 100 output = posixpath.splitext(output)[0] + ".o3dtgz"
98 output_dir = posixpath.dirname(output) 101 output_dir = posixpath.dirname(output)
99 output_file.write(" {\n") 102 output_file.write(" {\n")
100 output_file.write(" 'action_name': '%s',\n" % name) 103 output_file.write(" 'action_name': '%s',\n" % name)
101 output_file.write(" 'inputs': [\n") 104 output_file.write(" 'inputs': [\n")
102 output_file.write(" '<(PRODUCT_DIR)/o3dConverter',\n") 105 output_file.write(" '<(PRODUCT_DIR)/o3dConverter',\n")
103 output_file.write(" '../o3d_assets/samples/%s',\n" % asset['path']) 106 output_file.write(" '../o3d_assets/samples/%s',\n" % asset['path'])
104 output_file.write(" ],\n") 107 output_file.write(" ],\n")
105 output_file.write(" 'outputs': [\n") 108 output_file.write(" 'outputs': [\n")
106 if sys.platform[:5] == 'linux': 109 if sys.platform[:5] == 'linux':
107 # TODO(gspencer): This is a HACK! We shouldn't need to put the 110 # TODO(gspencer): This is a HACK! We shouldn't need to put the
108 # absolute path here, but currently on Linux (scons), it is unable 111 # absolute path here, but currently on Linux (scons), it is unable
109 # to copy generated items out of the source tree (because the 112 # to copy generated items out of the source tree (because the
110 # repository mojo fails to find it and puts in the wrong path). 113 # repository mojo fails to find it and puts in the wrong path).
111 output_file.write(" '%s',\n" % posixpath.abspath(output)) 114 output_file.write(" '%s',\n" % posixpath.abspath(output))
112 else: 115 else:
113 output_file.write(" '../samples/%s',\n" % output) 116 output_file.write(" '../samples/%s',\n" % output)
114 output_file.write(" ],\n") 117 output_file.write(" ],\n")
115 output_file.write(" 'action': [\n") 118 output_file.write(" 'action': [\n")
116 output_file.write(" '<(PRODUCT_DIR)/o3dConverter',\n") 119 output_file.write(" '<(PRODUCT_DIR)/o3dConverter',\n")
117 output_file.write(" '--no-condition',\n") 120 output_file.write(" '--no-condition',\n")
118 output_file.write(" '--up-axis=%s',\n" % asset['up']) 121 output_file.write(" '--up-axis=%s',\n" % asset['up'])
122 if webgl_mode:
123 output_file.write(" '--no-binary',\n")
124 output_file.write(" '--no-archive',\n")
125 output_file.write(" '--convert-dds-to-png',\n")
126 output_file.write(" '--convert-cg-to-glsl',\n")
119 output_file.write(" '../o3d_assets/samples/%s',\n" % asset['path']) 127 output_file.write(" '../o3d_assets/samples/%s',\n" % asset['path'])
120 output_file.write(" '<(_outputs)',\n") 128 output_file.write(" '<(_outputs)',\n")
121 output_file.write(" ],\n") 129 output_file.write(" ],\n")
122 output_file.write(" },\n") 130 output_file.write(" },\n")
123 131
132 for asset in assets:
133 write_action(asset, False);
134 if asset.has_key('webgl'):
135 write_action(asset, True);
136
124 output_file.write(" ],\n") 137 output_file.write(" ],\n")
125 138
126 # Coalesce copies by directory so we don't have tons of copies rules 139 # Coalesce copies by directory so we don't have tons of copies rules
127 # to parse. 140 # to parse.
128 copies = {} 141 copies = {}
129 for asset in assets: 142 for asset in assets:
130 output = asset['path'].replace('convert_', '') 143 output = asset['path'].replace('convert_', '')
131 output = posixpath.splitext(output)[0] + ".o3dtgz" 144 output = posixpath.splitext(output)[0] + ".o3dtgz"
132 output_dir = posixpath.dirname(output) 145 output_dir = posixpath.dirname(output)
133 if output_dir in copies: 146 if output_dir in copies:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 output_file.write(" ],\n") 184 output_file.write(" ],\n")
172 output_file.write(" },\n") 185 output_file.write(" },\n")
173 186
174 output_file.write(" ],\n") 187 output_file.write(" ],\n")
175 output_file.write(" },\n") 188 output_file.write(" },\n")
176 output_file.write(" ],\n") 189 output_file.write(" ],\n")
177 output_file.write("}\n") 190 output_file.write("}\n")
178 191
179 print output_filename 192 print output_filename
180 sys.exit(0) 193 sys.exit(0)
OLDNEW
« no previous file with comments | « samples/o3d-webgl-samples/helloworld.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698