# HG changeset patch
# User tkaito
# Date 1291022826 -32400
# Node ID ff0e6d00c060c0137a5c5a444dc1f8bc00457787
# Parent a0faa0cfc2715d5e9d27ab86ec7bbd1dfae6556e
bledenr script
diff -r a0faa0cfc271 -r ff0e6d00c060 Renderer/Engine/viewer.cc
--- a/Renderer/Engine/viewer.cc Fri Nov 26 04:35:34 2010 +0900
+++ b/Renderer/Engine/viewer.cc Mon Nov 29 18:27:06 2010 +0900
@@ -699,14 +699,16 @@
k = spe_num;
}
pptask[k] = task_array[k]->next_task_array(CreatePolygonFromSceneGraph,pptask[k]);
- pptask[k]->set_inData(0, &sg->coord_xyz, sizeof(float)*sg->size/3);
- pptask[k]->set_inData(1, &sg->coord_tex, sizeof(float)*sg->size/3);
- pptask[k]->set_inData(2, &sg->normal , sizeof(float)*sg->size/3);
- pptask[k]->set_inData(3, &sg->matrix , sizeof(float)*12);
- pptask[k]->set_inData(4, &sg->real_matrix, sizeof(float)*8);
- pptask[k]->set_inData(5, &sg->texture_info.pixels, sizeof(uint32));
-
- pptask[k]->set_param(0,(memaddr)sg->size);
+
+ pptask[k]->set_inData(0, &sg->coord_xyz, sizeof(float)*sg->size);
+ pptask[k]->set_inData(1, &sg->coord_tex, sizeof(float)*sg->size);
+ pptask[k]->set_inData(2, &sg->normal , sizeof(float)*sg->size);
+ pptask[k]->set_inData(3, &sg->matrix , sizeof(float)*16);
+ pptask[k]->set_inData(4, &sg->real_matrix, sizeof(float)*12);
+ pptask[k]->set_inData(5, &sg->texture_info.pixels, sizeof(uint32)); // 4 byte
+
+ // 4 byte * 4 = 16 byte
+ pptask[k]->set_param(0,(memaddr)sg->size); // 4byte
pptask[k]->set_param(1,(memaddr)sg->texture_info.t_w);
pptask[k]->set_param(2,(memaddr)sg->texture_info.t_h);
pptask[k]->set_param(3,(memaddr)sg->texture_info.scale_max);
@@ -763,7 +765,7 @@
#else
//SceneGraphPtr sg = sgroot->getDrawSceneGraph();
- //printf("sg->size = %lld\n", sg->size);
+ //printf("sg->size = %lld\n", sizeof(pixels));
HTaskPtr task_create_pp = manager->create_task(CreatePolygonFromSceneGraph);
// SceneGraph(木構造) -> PolygonPack
diff -r a0faa0cfc271 -r ff0e6d00c060 Renderer/Engine/viewer.h
--- a/Renderer/Engine/viewer.h Fri Nov 26 04:35:34 2010 +0900
+++ b/Renderer/Engine/viewer.h Mon Nov 29 18:27:06 2010 +0900
@@ -16,6 +16,27 @@
class Application;
+typedef struct sg_pp {
+ //13088
+ float *coord_xyz; // (361*3) * 4
+ float *coord_tex;
+ float *normal;
+
+ //8 * 16
+ float *matrix; // 4 * 16
+ float *real_matrix; // 4 * 12
+ uint32 pixels; // addr
+
+ int sg_size; // 4
+ int width; // 4
+ int height; // 4
+ int scale_max; // 4
+
+ int length; // 4
+ int start; // 4
+
+} SceneGraph2PolygonPack ;
+
typedef struct rendering_data {
PolygonPack *ppack;
SpanPackPtr spackList;
diff -r a0faa0cfc271 -r ff0e6d00c060 SceneGraph/BlenderScript/export_xml.py
--- a/SceneGraph/BlenderScript/export_xml.py Fri Nov 26 04:35:34 2010 +0900
+++ b/SceneGraph/BlenderScript/export_xml.py Mon Nov 29 18:27:06 2010 +0900
@@ -1,6 +1,6 @@
#!BPY
"""Registration info for Blender menus:
-Name: 'Libps3 (.xml)'
+Name: 'Libps+x (.xml)'
Blender: 240
Group: 'Export'
Tooltip: 'Export to (.xml) for libps3'
@@ -144,7 +144,7 @@
#str = ""
file.write("")
matrix = obj.getMatrix()
-
+ big = 6
for mindex in range(len(flist)):
fl = flist[mindex]
if fl != []:
@@ -166,9 +166,9 @@
tri_second = vlist[f[1]]
tri_third = vlist[f[2]]
- file.write("\t\t\t%f %f %f\n" %(tri_first[0][0] + matrix[3][0], tri_first[0][1] + matrix[3][1], tri_first[0][2] + matrix[3][2]) )
- file.write("\t\t\t%f %f %f\n" %(tri_second[0][0] + matrix[3][0], tri_second[0][1] + matrix[3][1], tri_second[0][2] + matrix[3][2]) )
- file.write("\t\t\t%f %f %f\n" %(tri_third[0][0] + matrix[3][0], tri_third[0][1] + matrix[3][1], tri_third[0][2] + matrix[3][2]) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_first[0][0] + matrix[3][0]), big*(tri_first[0][1] + matrix[3][1]), big*(tri_first[0][2] + matrix[3][2])) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_second[0][0] + matrix[3][0]), big*(tri_second[0][1] + matrix[3][1]), big*(tri_second[0][2] + matrix[3][2])) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_third[0][0] + matrix[3][0]), big*(tri_third[0][1] + matrix[3][1]), big*(tri_third[0][2] + matrix[3][2])) )
file.write("\t\t\n")
file.write("\t\t\n")
@@ -177,9 +177,9 @@
tri_second = vlist[f[1]]
tri_third = vlist[f[2]]
- file.write("\t\t\t%f %f %f\n" %(tri_first[1][0], tri_first[1][1], tri_first[1][2]) )
- file.write("\t\t\t%f %f %f\n" %(tri_second[1][0], tri_second[1][1], tri_second[1][2]) )
- file.write("\t\t\t%f %f %f\n" %(tri_third[1][0], tri_third[1][1], tri_third[1][2]) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_first[1][0]), big*(tri_first[1][1]), big*(tri_first[1][2])) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_second[1][0]), big*(tri_second[1][1]), big*(tri_second[1][2])) )
+ file.write("\t\t\t%f %f %f\n" %(big*(tri_third[1][0]), big*(tri_third[1][1]), big*(tri_third[1][2])) )
file.write("\t\t\n" )
file.write("\t\t\n" )
@@ -193,28 +193,26 @@
tri_first = vlist[f[0]]
tri_second = vlist[f[1]]
tri_third = vlist[f[2]]
-
- file.write("\t\t\t%f %f\n" %(tri_first[2][0], tri_first[2][1]) )
- file.write("\t\t\t%f %f\n" %(tri_second[2][0], tri_second[2][1]) )
- file.write("\t\t\t%f %f\n" %(tri_third[2][0], tri_third[2][1]) )
+ file.write("\t\t\t%f %f\n" %(tri_first[2][0], (-1*(tri_first[2][1])+1 )))
+ file.write("\t\t\t%f %f\n" %(tri_second[2][0], (-1*(tri_second[2][1])+1 )))
+ file.write("\t\t\t%f %f\n" %(tri_third[2][0], (-1*(tri_third[2][1])+1 )))
file.write("\t\t\n")
else:
- file.write("\t\t\n")
-
-
+ file.write("\t\t\n")
+ for f in fl:
+ file.write("\t\t\t0.000000 0.000000\n")
+ file.write("\t\t\t0.000000 0.000000\n")
+ file.write("\t\t\t0.000000 0.000000\n")
+ file.write("\t\t\n")
### get texture_image and change base64 data
texture = mesh.faces[0].image
if texture:
- file.write(loadTexture(texture))
-
+ file.write(loadTexture(texture))
else:
- file.write("\t\t\n" %("sample_white.png") )
-
- file.write("\t\t\tiVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAAAAADhZOFXAAAAEElEQVQImWP8zwABTAwUMQBJQQEP\n");
- file.write("\t\t\tlYH+agAAAABJRU5ErkJggg==\n");
-
+ file.write("\t\t\n" %("dummy.png") )
+ file.write("\t\t\tiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGUlEQVQokWP8/fs3AymAiSTVoxpG\n");
+ file.write("\t\t\tNQwpDQAwxQMRlevqcQAAAABJRU5ErkJggg==\n");
file.write("\t\t\n")
-
#return str
vdata = []