标签: csg

Bezier剪辑

我正在尝试找到/制作一个算法来计算两个任意填充的2D对象的交集(一个新的填充对象).使用线或立方贝塞尔定义对象,并且可以具有孔或自相交.我知道几个现有的算法对多边形做了同样的事情,在这里列出.但是,我想支持beziers而不将它们细分为多边形,并且输出应该与没有交叉点的区域中的输入具有大致相同的控制点.

这是一个交互式程序来做一些CSG,但剪辑不需要是实时的.我已经搜索了一段时间,但没有找到好的起点.

graphics geometry bezier 2d csg

14
推荐指数
2
解决办法
8019
查看次数

ThreeJS CSG 与挤压形状相交的问题

我有很多视图试图拉伸然后相交以创建最终的多边形。问题是结果不是预期的,它有一些浮动的额外部分。我需要以某种方式纠正这个问题,即使解决方案是一种检测这些浮动额外部分并擦除它们的方法。

我正在使用这个库https://www.npmjs.com/package/ Three-csg-ts/v/3.1.10 来进行交集的二进制运算。

我不知道这是一个错误还是我做错了什么。我已经尝试了很多不同的拉伸设置配置,但仍然遇到同样的问题。

我对 js 或 ThreeJS 没有太多经验,所以如果我的代码可读性不好,我很抱歉,我已经尽力了。

import './style.css'
import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'
import { CSG } from 'three-csg-ts'

// Canvas
const canvas = document.querySelector('canvas.webgl')

/**
 * Sizes
 */
 const sizes = {
    width: 1677,
    height: 1287
}

// Scene
const scene = new THREE.Scene()

// View Points
const view_1 = [1019, 516, 1005, 502, 968, 481, 944, 482, 911, 492, 902, 505, 892, 510, 879, 522, 880, …
Run Code Online (Sandbox Code Playgroud)

javascript intersection polygon csg three.js

8
推荐指数
1
解决办法
641
查看次数

MSAA的抗锯齿问题,深度绘制CSG和FBO

我已经为现代OpenGL版本重新实现了OpenCSG.

PixelFormatAttributes:

NSOpenGLPFAColorSize    , 24 ,
NSOpenGLPFAAlphaSize    , 8  ,
NSOpenGLPFADepthSize    , 32 ,
NSOpenGLPFAStencilSize  , 8  ,
NSOpenGLPFAAccelerated  ,
NSOpenGLPFADoubleBuffer ,
NSOpenGLPFASupersample  ,
NSOpenGLPFASampleBuffers, 1  ,
NSOpenGLPFASamples      , 4  ,
Run Code Online (Sandbox Code Playgroud)

FBO规格:( 尝试使用多重采样渲染到FBO,但线条越来越强大且可见,请查看底部的屏幕截图)
- 创建功率为2的纹理,GL_RGBA(尝试过GL_RGBA8和GL_RGBA32F)
- GL_DEPTH24_STENCIL8(尝试过GL_DEPTH32_STENCIL8,没有结果)


简单算法Goldfeather:

while (i < depth complexity) {
    take channel for render
       merge layers if no free channel 
    render each layer with stencil func, mask and depth params to channel (FBO)
}
merge layers (taking texture from FBO and render objects again …
Run Code Online (Sandbox Code Playgroud)

opengl fbo csg fragment-shader opengl-3

7
推荐指数
1
解决办法
864
查看次数

如何在 Unity 中的网格中执行布尔运算?

我有Cube模型和Cylinder模型。我想打一个洞里面CubeCylinder,我该怎么做呢?

我有这两个模型:

在此处输入图片说明

我想做这个:

在此处输入图片说明

csg unity-game-engine

5
推荐指数
1
解决办法
8860
查看次数

如何使用JavaFX中的JCSG库将MeshView转换为CSG对象

我正在使用JavaFX的JCSG库.

我有一些MeshView对象,我想将它们转换为CSG对象,有没有办法实现这一目标?

java javafx csg javafx-8 javafx-3d

4
推荐指数
1
解决办法
965
查看次数

如何在Three.js中构造空心圆柱体

我在Three.js中制造空心圆柱有困难.

我应该使用CSG构建它还是将顶点拼接在一起?

csg three.js

4
推荐指数
2
解决办法
3606
查看次数

是否可以将jcsg库与Processing一起使用?

Processing是一个创新的编码平台-语言,IDE和生态系统-由Processing社区在Processing Foundation https://processing.org的支持下维护。处理Java模式通常可以从Java库中的代码中受益。

JCSG是基于BSP的CSG(构造实体几何)的Java实现https://github.com/miho/JCSG

java processing csg

2
推荐指数
1
解决办法
151
查看次数

OpenGL中的CSG建模

我正在处理使用OpenGL进行构造实体几何(CSG)建模.

我想知道如何实现二进制操作.我读了一些关于金羽算法的知识,我知道OpenCSG,但在阅读了它的源代码之后,我觉得它太复杂了.我只需要一个简单的最短OpenGL示例如何实现它.

算法没有限制,只要它易于实现.

opengl graphics modeling csg

0
推荐指数
1
解决办法
2389
查看次数