Здравствуйте!
Изучаю Python на примере данного фреймворка для себя. Добавил любительский код создания карты на ubuntu. вот такой:
from panda3d.core import Geom, GeomNode, GeomVertexFormat, GeomVertexData, GeomTriangles, GeomVertexWriter
from panda3d.core import NodePath
from direct.showbase.ShowBase import ShowBase
import numpy as np
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# Define vertex format
vertex_format = GeomVertexFormat.getV3n3t2()
# Create vertex data
vdata = GeomVertexData('triangle_data', vertex_format, Geom.UHStatic)
vertex_writer = GeomVertexWriter(vdata, 'vertex')
normal_writer = GeomVertexWriter(vdata, 'normal')
texcoord_writer = GeomVertexWriter(vdata, 'texcoord')
# Define vertices (example triangle)
vertex_writer.addData3f(-0.5, 0.0, -0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(0, 0)
vertex_writer.addData3f(0.5, 0.0, -0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(1, 0)
vertex_writer.addData3f(0.0, 0.0, 0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(0.5, 1)
# Create triangle primitive
prim = GeomTriangles(Geom.UHStatic)
prim.addVertices(0, 1, 2)
prim.closePrimitive()
# Create geom object
geom = Geom(vdata)
geom.addPrimitive(prim)
# Create geom node
geom_node = GeomNode('triangle_node')
geom_node.addGeom(geom)
# Create nodepath
node_path = NodePath(geom_node)
node_path.reparentTo(render)
# Load texture (example)
tex = self.loader.loadTexture("my_texture.png") # Replace with your texture file
node_path.setTexture(tex)
self.camera.setPos(0, -5, 2)
self.camera.lookAt(0, 0, 0)
app = MyApp()
app.run()
from panda3d.core import Geom, GeomNode, GeomVertexFormat, GeomVertexData, GeomTriangles, GeomVertexWriter
from panda3d.core import NodePath
from direct.showbase.ShowBase import ShowBase
import numpy as np
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# Define vertex format
vertex_format = GeomVertexFormat.getV3n3t2()
# Create vertex data
vdata = GeomVertexData('triangle_data', vertex_format, Geom.UHStatic)
vertex_writer = GeomVertexWriter(vdata, 'vertex')
normal_writer = GeomVertexWriter(vdata, 'normal')
texcoord_writer = GeomVertexWriter(vdata, 'texcoord')
# Define vertices (example triangle)
vertex_writer.addData3f(-0.5, 0.0, -0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(0, 0)
vertex_writer.addData3f(0.5, 0.0, -0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(1, 0)
vertex_writer.addData3f(0.0, 0.0, 0.5)
normal_writer.addData3f(0, 1, 0)
texcoord_writer.addData2f(0.5, 1)
# Create triangle primitive
prim = GeomTriangles(Geom.UHStatic)
prim.addVertices(0, 1, 2)
prim.closePrimitive()
# Create geom object
geom = Geom(vdata)
geom.addPrimitive(prim)
# Create geom node
geom_node = GeomNode('triangle_node')
geom_node.addGeom(geom)
# Create nodepath
node_path = NodePath(geom_node)
node_path.reparentTo(render)
# Load texture (example)
tex = self.loader.loadTexture("my_texture.png") # Replace with your texture file
node_path.setTexture(tex)
self.camera.setPos(0, -5, 2)
self.camera.lookAt(0, 0, 0)
app = MyApp()
app.run()
получаю вот такое безобразие: