def _default_base_quad(self): bq = SceneData( name="fullscreen_quad", vertex_array=VertexArray(name="tri", each=6), ) fq = FULLSCREEN_QUAD.reshape((6, 3), order="C") bq.vertex_array.attributes.append( VertexAttribute(name="vertexPosition_modelspace", data=fq)) return bq
def _default_vertex_array(self): va = VertexArray(name="box_outline", each=36) data = compute_box_geometry(self.left_edge, self.right_edge).copy() va.attributes.append( VertexAttribute(name="model_vertex", data=data.astype("f4"))) N = data.size // 4 le = np.concatenate([[self.left_edge.copy()] for _ in range(N)]) re = np.concatenate([[self.right_edge.copy()] for _ in range(N)]) dds = self.right_edge - self.left_edge dds = np.concatenate([[dds.copy()] for _ in range(N)]) va.attributes.append( VertexAttribute(name="in_left_edge", data=le.astype("f4"))) va.attributes.append( VertexAttribute(name="in_right_edge", data=re.astype("f4"))) va.attributes.append( VertexAttribute(name="in_dx", data=dds.astype("f4"))) return va
def _default_vertex_array(self): va = VertexArray(name="grid_bounds") positions = [] dx = [] le = [] re = [] for g in self.grid_list: dx.append(g.dds.tolist()) le.append(g.LeftEdge.tolist()) re.append(g.RightEdge.tolist()) positions = np.ones((len(self.grid_list), 4), dtype="f4") dx = np.array(dx).astype("f4") le = np.array(le).astype("f4") re = np.array(re).astype("f4") va.attributes.append( VertexAttribute(name="model_vertex", data=positions)) va.attributes.append(VertexAttribute(name="in_left_edge", data=le)) va.attributes.append(VertexAttribute(name="in_dx", data=dx)) va.attributes.append(VertexAttribute(name="in_right_edge", data=re)) return va
def _default_vertex_array(self): model_vertex = np.array([[-1, 1], [-1, -1], [1, 1], [1, -1]], order="F", dtype="f4") va = VertexArray(name="particle_positions") va.attributes.append( VertexAttribute(name="model_vertex", data=model_vertex, divisor=0)) for attr in ("position_field", "radius_field", "color_field"): if getattr(self, attr) is None: continue field = self.data_source[self.particle_type, getattr(self, attr)] if field.units.dimensions is length: field.convert_to_units("unitary") field = field.astype("f4").d if field.ndim == 1: field.shape = (field.size, 1) else: self.size = field.shape[0] # for positions print(f"Setting {attr} to a field of shape {field.shape}") va.attributes.append( VertexAttribute(name=attr, data=field, divisor=1)) print(f"Size is now: {self.size}") return va
def _default_vertex_array(self): va = VertexArray(name="tri", each=6) fq = FULLSCREEN_QUAD.reshape((6, 3), order="C") va.attributes.append( VertexAttribute(name="vertexPosition_modelspace", data=fq)) return va
def _default_vertex_array(self): return VertexArray(name="mesh_info", each=0)
def _default_vertex_array(self): return VertexArray(name="char_info", each=6)
def _default_vertex_array(self): return VertexArray(name="vertices", each=6)
def _default_vertex_array(self): return VertexArray(name="block_info", each=1)
def _default_vertex_array(self): va = VertexArray(name="vertices") return va