mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 14:53:44 +08:00
1 parent
be5901100e
commit
c8a163a077
35 files changed
+3045
-373
No files matched your search
@@ -145,13 +145,14 @@ func (r *u3dRender) sceneDiagonal() (float64, error) {
|
||||
continue
|
||||
}
|
||||
mesh := &r.model.Meshes[index]
|
||||
for i, face := range mesh.Faces {
|
||||
for i := range len(mesh.Faces) + len(mesh.Lines) {
|
||||
_, corners := mesh.primitive(i)
|
||||
if i%256 == 0 {
|
||||
if err := r.ctx.Err(); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
for _, corner := range face.Corners {
|
||||
for _, corner := range corners {
|
||||
if uint64(corner.Position) >= uint64(len(mesh.Positions)) {
|
||||
return 0, fmt.Errorf("invalid U3D position index")
|
||||
}
|
||||
@@ -235,6 +236,9 @@ func (r *u3dRender) sectionTriangle(triangle [3]u3dVertex, shader U3DShader, pas
|
||||
return err
|
||||
}
|
||||
}
|
||||
if r.depthOnly {
|
||||
return nil
|
||||
}
|
||||
for i, section := range r.sections {
|
||||
if section.intersection != nil {
|
||||
if err := r.sectionIntersection(triangle, i); err != nil {
|
||||
|
||||
Reference in new issue
Block a user