首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在3D Graphics API中画一条线?

如何在3D Graphics API中画一条线?
EN

Stack Overflow用户
提问于 2017-03-26 12:34:29
回答 3查看 804关注 0票数 2

我刚开始使用Open 3D图形API,我只想在给定的三维坐标之间画一条线。假设第一点是0,0,0,第二点是1,1,1。这个API的文档和例子非常糟糕,无法正确地得到它。我在使用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-26 14:56:29

假设您只是询问如何创建线条形状--只需将坐标存储在SoVertexProperty节点中,将该节点设置为SoLineSet节点,然后将该线集添加到场景图中。Open将假设您希望使用给定的所有坐标,所以这就是您需要做的全部工作。对于两个坐标,使用set1Value方法可能是最简单的,但也可以从数组中设置坐标。您没有说明使用的是哪种语言,所以我将在C++中显示代码(除了语言语法差异外,C#和Java本质上是一样的):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SoVertexProperty* vprop = new SoVertexProperty();
  vprop->vertex.set1Value( 0, 0,0,0 );  // Set first vertex to be 0,0,0
  vprop->vertex.set1Value( 1, 1,1,1 );  // Set second vertex to be 1,1,1

SoLineSet* line = new SoLineSet();
  line->vertexProperty = vprop;

sceneGraph->addChild( line );
票数 3
EN

Stack Overflow用户

发布于 2017-03-27 05:55:04

如果您只需要设置基本颜色( OpenGL &OpenGL称之为漫射颜色),这通常是直线几何学的情况,那么您可以直接在SoVertexProperty节点中设置它。

例如,若要在前面的示例“red”中创建行,请添加以下行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vprop->orderedRGBA = 0xff0000ff; // By default applies to all vertices

或者,更方便地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vprop->orderedRGBA = SbColor(1,0,0).getPackedValue();

如果您需要对几何图形的外观进行更多的控制,请在几何节点之前向场景图添加一个SoMaterial节点。

票数 4
EN

Stack Overflow用户

发布于 2018-03-24 12:45:21

线宽是通过创建一个SoDrawStyle属性节点并将其添加到几何节点之前/之上的场景图来指定的。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SoDrawStyle* style = new SoDrawStyle();
style->lineWidth = 3;  // "pixels" but see OpenGL docs
parent->addChild( style );
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43034213

复制
相关文章
[1084]windows搭建clojure开发环境
关于clojure是什么东西就自行百度了,简单说就是用Lisp语言写的程序,编译成.class放在jvm上面跑,所以是需要jre的。独立的clojure可以从官方网站找到,目前稳定版本是1.8,官网https://clojure.org/index。下载后是一个zip,里面有个jar是clojure-1.8.0.jar,可以像常用的jar那样运行,这样会得到一个REPL交互环境,当然需要预先配置好jre(java8)。
周小董
2021/11/30
2.2K0
[1084]windows搭建clojure开发环境
(cljs/run-at (JSVM. :browser) "搭建刚好可用的开发环境!")
前言  书接上一回,在了解cljs基本语法后并在clojurescript.net的奇特错误提示后,我们必须痛定思痛地搭建一个本地的开发环境,以便后续深入地学习cljs。 现有的构建工具  由于浏览器仅能运行JS,而无法直接运行cljs,因此我们需要搭建一个预编译环境将cljs编译成JS后再在浏览器中运行。预编译无非就是JVM和Nodejs两个环境,但具体使用时有如下几种构建工具。 直接JVM编译 Lein方案 Boot方案 Lumo方案 Shadow-cljs方案 cljs/tool方案  其中Lein
^_^肥仔John
2018/01/18
9150
一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)
Storm的官方网址:http://storm.apache.org/index.html 1:集群部署的基本流程(基本套路): 集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装
别先生
2018/01/02
1.4K0
一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)
Clojure 运行原理之字节码生成篇
上一篇文章讲述了 Clojure 编译器工作的整体流程,主要涉及 LispReader 与 Compiler 这两个类,而且指出编译器并没有把 Clojure 转为相应的 Java 代码,而是直接使用 ASM 生成可运行在 JVM 中的 bytecode。本文将主要讨论 Clojure 编译成的 bytecode 如何实现动态运行时以及为什么 Clojure 程序启动慢,这会涉及到 JVM 的类加载机制。
飞驰的西瓜
2022/07/26
7430
Clojure 运行原理之字节码生成篇
将class文件打成jar包
如果真相是种伤害,请选择谎言。如果谎言是一种伤害,请选择沉默。如果沉默是一种伤害,请选择离开。——徐志摩 命令很简单,在class文件目录下执行: jar -cvf ruben.jar . 例如我这里执行后: 预览也能看到大致结构
阿超
2022/08/17
6050
将class文件打成jar包
Clojure和CloudStack
[原文由Sebastien Goasguen撰写]
Techeek
2018/01/11
1.1K0
.java编译成.class 与 .class反编译成.java
了解下这两个文件类型:.java文件是给人看的,.class是给计算机看的。程序员编写的是.java文件,经编译后生成.class文件给计算执行。
全栈程序员站长
2022/08/09
2.7K0
.java编译成.class 与 .class反编译成.java
处理Sprint Boot与Storm1.2.2日志实现的冲突,使用logback记录日志
通过mvn dependency:tree可以看到Sprint Boot Starter和Storm引入的日志记录框架不相同的,如下:
heasy3
2020/08/02
5210
聊聊storm的reportError
storm-2.0.0/storm-client/src/jvm/org/apache/storm/task/IErrorReporter.java
code4it
2018/11/20
8440
Clojure 学习入门(2)—— eclipse 插件
以前听说过LISP函数式编程,也听人说Erlang的牛逼,接触了Clojure才知道,原来Clojure就是JVM中的Erlang。网上基于Ubuntu环境下开发Clojure的资料太少,在这里整理总结,分享给大家。
阳光岛主
2019/02/18
1.1K0
Clojure 学习入门(2)—— eclipse 插件
如何发布jar到clojars
Clojars 是一个为开源 Clojure 类库打造的仓库,截止2017年9月17日,大概有19831个项目发布在上面。整个网站也是用 Clojure 编写的。
lambeta
2018/08/17
8640
如何发布jar到clojars
聊聊storm的reportError
storm-2.0.0/storm-client/src/jvm/org/apache/storm/task/IErrorReporter.java
code4it
2018/10/23
8730
聊聊storm的reportError
一名Clojurian的Emacs配置
我是一名热衷于函数式编程的Clojurian(Clojure粉),网络ID是lambeta(λβ),读作/‘læmeitə/,个人的博客网站是https://lambeta.com。俗话说,工欲善其事必先利其器,完善开发工具与我而言是一件愉快的事情,所以想把经验集结成文字,便有了这篇文章。这篇文章不会介绍太多花式或有深度的emacs配置,更多是摸索学习的过程,其中充满了乐趣。
lambeta
2018/08/17
2.8K0
ClojureScript魔法堂:搭建开发环境
一、前言                                 当看到Lisp等函数式编程语言的语法是 (say (concat "hello" "world")) 这样的时候,我就有种深入学习的冲动,因为它的语法和自己一直使用的Java、C#都不同,酷比了!(我承认我是语法控^_^)又由于我主要玩的是JavaScript,恰好ClojureScript就是纯函数式的JS超集,于是决定以ClojureScript作为函数式编程的起点。(虽然JavaScript具有函数式语言的特点:函数为一等公民,
^_^肥仔John
2018/01/18
1.2K0
Clojure 学习入门(9)—— 连接redis
project.cli 添加redis依赖: [clj-redis "0.0.12"]
阳光岛主
2019/02/18
7490
Clojure 学习入门(9)—— 连接redis
Java文件是怎么编译成Class文件的
其实就是我们前端的编译过程,是通过javac(编译器)把java文件变成.class字节码文件。
向着百万年薪努力的小赵
2022/12/02
1.4K0
Java文件是怎么编译成Class文件的
Twitter Storm: Maven配置
为了开发storm topology, 你需要把storm相关的jar包添加到classpath里面去: 要么手动添加所有相关的jar包, 要么使用maven来管理所有的依赖。storm的jar包发布在Clojars(一个maven库), 如果你使用maven的话,把下面的配置添加在你项目的pom.xml里面。
星哥玩云
2022/06/30
3560
Clojure Web 开发-- Ring 使用指南
在 Clojure 众多的 Web 框架中,Ring 以其简单统一的 HTTP 抽象模型脱颖而出。Ring 充分体现了函数式编程的思想——通过一系列函数的组合形成了一个易于理解、扩展的 HTTP 处理链。
飞驰的西瓜
2022/07/26
8840
Clojure Web 开发-- Ring 使用指南
Kafka的生产者和消费者代码解析
1:Kafka名词解释和工作方式 1.1:Producer :消息生产者,就是向kafka broker发消息的客户端。 1.2:Consumer :消息消费者,向kafka broker取消息的客户端 1.3:Topic :可以理解为一个队列。 1.4:Consumer Group (CG):这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制(不是真的
别先生
2018/04/02
2K0
Kafka的生产者和消费者代码解析
Clojure 学习入门(7)—— 连接mysql
Clojure的contrib包中实现了对现有JDBC的封装,在wiki上有连接,该页面上包含了对不同的数据库的连接方法和基本的操作,但是这个页面上没有提供足够的信息,足够一个初学者能够使用Clojure来完成一个SQL操作。本文中我们将利用Clojure和Lein工具,简介一下做开发的基础。当然网上也有非常多对Clojure的SQL操作进行封装的库,我们这里没有使用。
阳光岛主
2019/02/18
1.1K0
Clojure 学习入门(7)—— 连接mysql

相似问题

创建对所有对象都相同的属性

231

数组对象所有索引都具有相同的值( java )。

13

所有对象都具有相同的名称

10

Array.fill重复给出相同的对象。为什么?

10

比较几乎所有字段都相同的对象

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文