osgFX - 开发者简明手册
- 格式:doc
- 大小:61.50 KB
- 文档页数:4
DEVELOPER'S REFERENCE MANUALSTo make our users comfortable we have put all the reference Manuals at one place. So now your Reference Manuals for PERL, PHP, C, UDDI, MySQL and other programming languages is just one click away.RECOMMENDATIONS: Bookmark this page for easy and quick access.TUTORIALS IN PDF FORMAT:ANT Tutorial in PDF - Download quick ANT tutorial in PDF format.Hibernate Tutorial in PDF - Download quick Hibernate tutorial in PDF format.Python Tutorial in PDF - Download quick Python tutorial in PDF format.Ruby Tutorial in PDF - Download quick Ruby tutorial in PDF format.Java Tutorial in PDF - Download quick Java tutorial in PDF format.Javascript Tutorial in PDF - Download quick Javascript tutorial in PDF format.JSP Tutorial in PDF - Download quick JSP tutorial in PDF format.SQL Tutorial in PDF - Download quick SQL tutorial in PDF format.MySQL Tutorial in PDF - Download quick MySQL tutorial in PDF format.C++ Tutorial in PDF - Download quick C++ tutorial in PDF format.JDBC Tutorial in PDF - Download quick JDBC tutorial in PDF format.Servlets Tutorial in PDF - Download quick Servlets tutorial in PDF format.log4j Tutorial in PDF - Download quick log4j tutorial in PDF format.iBATIS Tutorial in PDF - Download quick iBATIS tutorial in PDF format.UML Tutorial in PDF - Download quick UML tutorial in PDF format.Unix Tutorial in PDF - Download quick Unix tutorial in PDF format.QUICK REFERENCES:ASCII Table Lookup - A complete table of 7 Bit ASCII Codes and Extended ASCII Codes.HTML Character Encodings - A Set of all HTML Character Encodings.HTML Color Code Builder - We have given one very light weight JAVA Applet to generatemillions of HTML Color Code. Try it once!C Built-In Library Functions - A list of all important functions which you will use in your day today programming.CSS2 Properties - A complete list of all the CSS2 properties explained with examples.HTML /XHTML Tags Reference - A complete reference manual for HTML/XHTML tags arranged alphabetically.HTML Color Names - A list of thousands of color codes along with examples. Ready to use in your HTML Pages.HTML Entities - A list of all standard HTML Entity Codes.HTML Fonts - A list of HTML Fonts available on Microsoft Windows, Macintosh System and Unix.HTML ASCII Codes - Listing down all the 7-BIT ASCII codes and their equivalent HTML Entity Codes.JavaScript Built-in Function - Listing of all the built-in JavaScript methods.jQuery Quick Guide - Listing of all the jQuery APIs.Language ISO Codes - Language ISO Codes for Windows and Macintosh Systems.MIME Media Types - Complete reference for MIME Media Types.MySQL Useful Functions and Clauses - A comprehensive set of all MySQL functions and Clauses with examples.Rails Quick Reference Guide - A quick reference guide for Rails developers. We have listed out all the important concepts related to Rails.UDDI API References - A complete set of UDDI APIs.Useful UNIX Commands - List of all important UNIX Commands.Perl Functions References - A comprehensive reference manual for Perl Developers. All the Perl functions have been listed out with examples.WML Tags Reference - A complete list of WML tags explained with examples.。
NVIDIA IGX Orin 开发者主机用户指南文档历史记录DU-11439-003_v1.0目录Chapter 1.简介 (1)Chapter 2.配置 (2)2.1GPU 模式 (2)2.2环境 (2)Chapter 3.系统概述 (3)3.1主要组件 (3)3.2技术规格 (4)3.3I/ O 和外部接口 (5)3.4其他可选显卡的物理安装 (7)Chapter 4.为系统供电 (10)Chapter 5.软件安装 (11)5.1默认设置 (11)5.2交互式安装 Holopack (11)5.2.1检查当前安装的 GPU 堆栈 (14)5.2.2在 iGPU 和 dGPU 堆栈之间切换 (14)5.3重新刷写开发者套件 (15)5.3.1重新刷写选项 1 –使用 NVIDIA SDK Manager (15)5.3.2重新刷写选项 2 - 手动 (21)Chapter 6.安装后配置 (22)6.1设置 SSD 存储 (22)6.1.1创建分区 (22)6.1.2安装分区 (23)6.2在 SSD 上设置 Docker 存储 (24)Chapter 7.使用 BMC (25)7.1访问 BMC (25)7.2通过 BMC 将系统置于恢复模式 (26)Chapter 8.交换机 ConnectX - 7 网络链路类型 (27)Chapter 9.安装 Holoscan SDK (28)Chapter 10.故障排除 (29)Chapter 11.获取帮助 (30)图表列表图3-1。
开发者套件组件 (4)图3-2。
开发者套件前视图 (5)图3-3。
开发者套件背面板 (6)图3-4. 取消封面–第 1 步 (8)图3-5. 取消封面–第 2 步 (9)图5-1. 提示安装 dGPU (12)图5-2. 提示安装 iGPU (13)图5-3. dGPU 堆栈安装截图 (13)图5-4. SDK 管理器目标硬件 (17)图5-5. SDK 管理器硬件配置 (17)图5-6。
OSG虚拟可视化图形开发简介OSG诞生于大概是1997年,可以在osgChina[]上查阅到关于OSG的来龙去脉。
笔者使用OSG也已经有三到四年的时间了。
当初偶然接触OSG到现在,OSG已经在国内外得到广泛的应用,国内已经有好几家专门使用OSG的公司,他们分布在杭州、西安、深圳以及还有一些我不知道的地方。
然而,更让人兴慰的是国内的各重点院校与研究所都已经开始使用OSG。
我做为一直使用OSG做开发的图形工作者,感觉非常兴慰。
当每一次在群里或论坛说OSG 又有什么什么消息时,看到很多人说:看来选OSG是选对了,OSG明天更好等等类似的话,我热泪盈框。
OSG进入中国已经有七到八年了,在这期间,OSG经历了数次变迁,青丝变白发。
使用OSG的开发者从无到有,从草根开发者到成立专门使用OSG的公司。
1.1 OSG简介1.1.1 OSG的诞生在1997年时,Don Burns由于喜欢滑翔机运动且对计算机图形学非常熟悉,在LINUX上写了一个控制滑翔机的小引擎,这便是OSG的最初雏形。
后来在1998年,Don Burns在滑翔机爱好者邮件列表中遇到了Robert Osfield,对OSG的命运起到了决定性的改变。
我们现在在邮件列表中也会经常看到Robert的名字,从98年至今,Robert一直担当OSG开发组长,权衡OSG的各种利弊。
有很多人在刚开始接触OSG时感觉到非常痛苦,咋一看一点儿都看不懂,疑是什么鬼怪新语言。
其实OSG是语法是标准C++的。
您可以登录:/ 与查看关于OSG历史的更多信息。
也可以查阅《OSG快速入门指南》[<OpenSceneGraph Quick Start Guide>]的第一章的相关章节来获得OSG的发展更详细信息。
1.1.2 OSG在中国OSG在2000年或更早时候进入的中国,据个人了解,FLMN在2003年接触的OSG,并在2005年创立了VRDEV[]网站。
VRDEV是国内OSG爱好者交流的中心,把无数OSG爱好者引入大门。
【版权声明】©2015-2016 腾讯云版权所有本文档著作权归腾讯云单独所有,未经腾讯云事先书面许可,任何主体不得以任何形式复制、修改、抄袭、传播全部或部分本文档内容。
【商标声明】及其它腾讯云服务相关的商标均为腾讯云计算(北京)有限责任公司及其关联公司所有。
本文档涉及的第三方主体的商标,依法由权利人所有。
【服务声明】本文档意在向客户介绍腾讯云全部或部分产品、服务的当时的整体概况,部分产品、服务的内容可能有所调整。
您所购买的腾讯云产品、服务的种类、服务标准等应由您与腾讯云之间的商业合同约定,除非双方另有约定,否则,腾讯云对本文档内容不做任何明示或模式的承诺或保证。
文档目录文档声明 (2)签名和鉴权文档 (4)RESTful API (10)SDK_文档 (32)SDK文档 (32)SDK下载 (33)返回码说明 (35)版本说明 (39)OCR识别接口文档 (45)人脸识别接口文档 (70)图片标签接口文档 (102)智能鉴黄接口文档 (107)人脸核身解决方案接口文档 (122)签名和鉴权文档本文为万象优图V2版本和V2加强版本的鉴权文档,V1的鉴权文档参见万象优图鉴权及签名文档-V1。
注意:各版本只能使用属于其的CGI,请不要混用。
具体版本说明请参照版本说明。
1 签名与鉴权腾讯移动服务通过签名来验证请求的合法性。
开发者通过将签名授权给客户端,使其具备上传下载及管理指定资源的能力。
签名分为多次有效签名和单次有效签名。
多次有效签名:签名中绑定或者不绑定文件fileid,需要设置大于当前时间的有效期,有效期内此签名可多次使用,有效期最长可设置三个月。
单次有效签名:签名中绑定文件fileid,有效期必须设置为0,此签名只可使用一次,且只能应用于被绑定的文件。
具体适用场景参见签名适用场景。
注意:本页面介绍的签名算法适用于V2版本和V2加强版本,V1版本签名算法参加万象优图鉴权及签名文档-V1.2 签名算法2.1 获取签名所需信息生成签名所需信息包括项目ID(appid),空间名称(bucket,图片资源的组织管理单元),项目的SecretID和Secret Key。
osg原理-回复osg原理是指在开发和使用osg(OpenSceneGraph)库时所涉及到的底层原理和机制。
osg是一个用于实时三维图形应用程序开发的跨平台的高性能图形库。
它提供了一系列功能强大的工具和接口,使开发者能够方便地创建、渲染和管理三维场景。
在本文中,我将详细介绍osg原理,并一步一步回答您关于osg原理的问题。
第一步:理解osg的基本原理osg是一个基于OpenGL的图形库,它在OpenGL的基础上提供了更高层次的抽象和功能。
osg将底层的OpenGL调用进行了封装,提供了一系列易于使用的接口,方便用户对三维场景进行建模、渲染和交互。
osg的基本原理可以概括如下:1. 场景管理:osg通过场景图的形式进行场景管理。
场景图是一种层次化的数据结构,描述了整个场景中的所有对象及其相互关系。
用户可以通过osg提供的接口,对场景图进行创建、添加、删除、修改等操作。
2. 渲染管线:osg提供了封装OpenGL渲染管线的接口。
用户可以通过osg来设置渲染状态、创建渲染器、调整渲染参数等。
osg会将这些设置转化为OpenGL的调用,从而实现场景的渲染。
3. 事件处理:osg提供了事件处理的机制,用户可以通过osg来监听和处理用户输入、设备事件等。
用户可以定义事件回调函数,在相应事件发生时执行特定的操作。
第二步:了解osg的关键概念和组件在理解osg的原理时,有几个关键概念和组件需要了解:1. Node(节点):osg的场景图是由一棵节点树组成的,每个节点代表场景中的一个对象。
节点可以是几何体、相机、灯光等。
节点之间可以形成层次化的关系。
2. State(状态):osg中的状态包括渲染状态、材质状态、变换状态等。
状态决定了场景中对象的外观和行为。
osg使用状态栈来管理状态,状态的改变会影响整个场景图的渲染结果。
3. Visitor(访问者):osg中的访问者模式非常重要,它通过一系列的访问者类实现对场景图的遍历和操作。
一.安装需要:1. 3rdparty——第三方库。
2. OpenSceneGraph源码包,我用的是OpenSceneGraph-2.4.0。
3. 实例模型数据包。
4. Cmake工具——如果用的是VS2008,请使用cmake-2.8.0-win32-x86以上版本。
1,2,3都可以在OSG的官网上找到下载。
Cmake也很容易在网上下载到。
二.注意事项:1. 就不要使用VC6.0了,OSG已经不支持它了。
2. 如果你用的是VISTA,甚至WIN7,为了防止未来出现很多不可预知且难以解决的问题,还是换成XP吧。
我曾经在VISTA下安装成功,但任意一个程序都必须报一个“DLL文件BUG”的错误,然后重新生成才可以成功。
三.安装准备:1. 安装CMAKE。
2. 找一个空间较大的盘,建立一个名为OSG的文件夹。
将第三方库文件夹复制进去,命名为3rdparty。
OpenSceneGraph-2.4.0文件夹也复制进去。
再新建一个名为OSG的文件夹,将实例模型数据包取名data,复制到该文件夹下。
3. 打开CMAKE程序。
打开OpenSceneGraph-2.4.0文件夹,将其中CMakeLists.txt直接拖到CMAKE的程序界面中。
这时你会发现,界面上方自动填入了两个地址。
上面那行地址是OpenSceneGraph源码所在的文件夹,也就是我们的OpenSceneGraph-2.4.0文件夹。
下面那行是生成项目的输出文件夹,我们将其改为“盘符:\OSG\OSG”。
点击左下方的“configure”。
这是第一次配置。
在跳出的对话框中选择你所用的VS版本。
4. 这时下方列表中会出现非常多项目。
它比较不智能,所以需要我们自己动手将需要改的项目改过来。
首先将界面中的“simple view”下拉列表改成“Advanced view”。
然后修改列表中以下值:1) ACTUAL_3DPARTY_DIR。
这一项填写的是我们第三方库所在的文件夹。
法格系统编程手册
法格系统编程手册是法国电子元器件公司STMicroelectronics所开发的一套嵌入式系统编程手册,旨在为开发人员提供全面、系统化的指导,帮助他们开发和维护基于STMicroelectronics 产品的嵌入式系统。
该手册覆盖了多种嵌入式系统的相关知识和技术,包括处理器、嵌入式操作系统、通信协议、电源管理、存储器等方面的内容。
法格系统编程手册的主要内容包括以下几个方面:
处理器架构和指令集:介绍了STMicroelectronics公司开发的处理器架构和指令集,包括ARM Cortex-M系列、STMicroelectronics 8位和32位微控制器等。
嵌入式操作系统:介绍了常用的嵌入式操作系统,包括FreeRTOS、CMSIS-RTOS、ThreadX等,以及如何在STMicroelectronics产品上使用这些操作系统。
通信协议:介绍了常用的通信协议,包括SPI、I2C、CAN、USB等,以及如何在STMicroelectronics 产品上使用这些通信协议。
电源管理:介绍了如何有效地管理嵌入式系统的电源,包括如何选择电源管理芯片、如何实现低功耗模式等。
存储器管理:介绍了如何在STMicroelectronics产品上管理存储器,包括Flash、EEPROM、SRAM等。
除了以上内容,法格系统编程手册还包括了大量的示例代码和应用案例,方便开发人员进行实践和应用。
同时,STMicroelectronics也提供了丰富的技术支持和服务,帮助开发人员解决技术难题和优化系统性能。
iOS开发技术手册第一章:介绍iOS开发技术iOS是由Apple公司推出的操作系统,它为iPhone、iPad和iPod Touch等设备提供了强大的功能和良好的用户体验。
本章将对iOS开发技术进行简要介绍,帮助读者对iOS开发有一个初步的了解。
1.1 iOS开发概述iOS开发是指使用Objective-C或Swift编程语言开发基于iOS操作系统的应用程序。
iOS开发者可以利用Apple提供的软件开发工具包(SDK)以及相关文档和资源来创建各种类型的应用程序,包括游戏、社交媒体应用、商务应用等。
1.2 iOS开发环境搭建为了进行iOS应用的开发,需要在Mac电脑上搭建相应的开发环境。
具体包括安装Xcode集成开发环境、注册Apple开发者账号等步骤。
本节将详细介绍如何搭建iOS开发环境。
1.3 开发工具和语言iOS开发使用的主要工具是Xcode,它是一款强大的集成开发环境,提供了代码编辑、编译、调试等功能。
此外,Objective-C是一种使用广泛的iOS开发语言,而Swift则是Apple最新推出的一种现代化的开发语言。
本节将介绍如何使用Xcode进行开发,并对Objective-C和Swift进行简要对比。
第二章:iOS开发基础知识在进行iOS开发之前,需要熟悉一些基础知识,包括UIKit框架、界面设计等方面的内容。
本章将系统介绍iOS开发的基础知识,帮助读者打下扎实的基础。
2.1 UIKit框架在iOS应用开发中,UIKit框架是最常用的框架之一。
它包含了一系列用于构建用户界面的类和方法,如按钮、标签、文本框等控件。
本节将介绍UIKit框架的基本使用方法,以及常用控件的创建和操作。
2.2 界面设计好的用户界面设计是吸引用户的关键之一。
本节将介绍iOS开发的界面设计原则和技巧,包括布局、颜色选择、图标设计等方面的内容。
读者可以通过学习这些知识,设计出美观且易用的应用界面。
2.3 数据存储和管理iOS开发中,数据的存储和管理是不可或缺的一部分。
OSG中的⽰例程序简介1.example_osganimate⼀)演⽰了路径动画的使⽤(AnimationPath、AnimationPathCallback),路径动画回调可以作⽤在Camera、CameraView、MatrixTransform、PositionAttitudeTransform等四种类型的节点上。
⼆)演⽰了osgSim::OverlayNode的使⽤2.example_osganimationeasemotion⼀)演⽰了osgAnimation::EaseMotion的使⽤,EaseMotion可以⽤于表达位移、速度值随时间的变化情况,通过不同的模板参数(functor),实现了不同的变化曲线。
⼆)程序中⽤到了⼀个使⽤osgWidget构造的弹出式菜单。
3.example_osganimationhardware⼀)演⽰了在osgAnimation::RigGeometry中使⽤⾃定义RigTransformImplementation的⽅法。
⼆)可以参考程序中获取⾻骼动画模型包含的动画列表的⽅法。
4.example_osganimationmakepath⼀)演⽰了osgAnimation::Sampler采样器的使⽤,更新物体颜⾊(vec4)、物体位置(vec3)。
Sampler派⽣模板类⽤于在⼀组已知离散数据样本的基础上,进⾏插值计算,得到连续数据。
通过模板参数⽀持多种插值⽅法。
⼆)在更新物体位置这⽅⾯,与路径动画AnimationPath类似,但它需要⾃⼰写回调来更新节点矩阵,好处是能够使⽤更灵活的⽅式来进⾏数据采样,⽽AnimationPath只能进⾏线性内插。
5.example_osganimationmorph⼀)演⽰了利⽤osgAnimation::MorphGeometry实现⼏何体变形动画的⽅法。
6.example_osganimationnode⼀)同osganimationmakepath演⽰的功能基本相同。
osgqopenglwidget linux 编译-概述说明以及解释1.引言1.1 概述概述部分内容:引言部分的概述用于介绍文章的背景和内容。
本文将讨论关于在Linux系统上编译OSGQOpenGLWidget的方法以及可能的问题和解决方法。
OSGQOpenGLWidget是一种用于在Qt应用程序中集成OpenSceneGraph的插件。
OpenSceneGraph (OSG) 是一个开源的3D 图形库,可用于创建交互式的3D应用程序。
Qt是一种跨平台的C++图形用户界面应用程序开发框架,被广泛应用于软件开发领域。
本文首先对OSG和Qt进行简要介绍,包括它们的特点、用途和优势。
然后,我们将重点讨论在Linux系统上编译OSGQOpenGLWidget的具体方法和步骤。
我们将提供详细的操作指南和示例代码,以帮助读者顺利完成编译过程。
此外,我们还将探讨在编译过程中可能遇到的一些常见问题,并给出相应的解决方法。
这些问题可能涉及依赖项安装、环境配置、库文件链接等方面。
我们将提供一些实用的技巧和建议,帮助读者快速克服这些难题。
通过本文的阅读,读者将了解到在Linux系统上编译OSGQOpenGLWidget所需的基本知识和技能。
希望本文能为希望在Linux平台上开发3D图形应用程序的开发者提供一些有用的信息和帮助。
接下来,我们将详细介绍OSG (OpenSceneGraph) 的相关内容。
1.2 文章结构文章结构的部分应该包括以下内容:文章结构部分旨在介绍本篇文章的整体组织和内容安排,为读者提供一个清晰的导读,方便他们快速了解文章的结构和内容组成。
本文的结构主要包括引言、正文和结论三个部分。
在引言部分,我们先对该篇文章进行了概述,简要介绍了将要讨论的主题。
接着,我们详细说明了文章的结构,即引言、正文和结论三个部分。
通过明确的讲述结构,读者可以更好地理解文章的内容和逻辑顺序。
正文部分将从两个方面展开。
首先,我们将介绍OSG (OpenSceneGraph)的概念和基本特点,包括其在图形渲染方面的应用和优势。
巨掌IOS积分墙对开发者激活数据反馈接口说明书巨掌互动科技(北京)有限公司(Version:1.0.0)(更新时间:2014-05-20)适用范围:1,适合于开发者使用自己的服务器来管理积分的情况。
2,当我们收到广告主反馈的积分时,我们会实时反馈给开发者服务器。
3,需要开发者提供一个接口来接收数据(Web前端=>用户中心=>积分墙设置),接口接收方式:GET。
流程说明:1,开发者设置积分接收接口;如:/adjuz.php;注:开发者可以在接口后面增加参数,但切记参数最后面一定不要带链接符“?”或“&”。
2,当巨掌服务器接收到一个有效激活时,就会按开发者提供的反馈地址,加上相关的参数,一起反馈给开发者的服务器(GET的方式)。
如下所示:/adjuz.php?hashid={hashid}&appid={appid}&adid={adid} &adname={adname}&appuserid={appuserid}&deviceid={deviceid}&source=adjuz&po int={point}&time={time}&checksum={checksum}参数说明:appsecret:开发者密钥(WEB端设置,此参数不会被回调,只用做加密使用)hashid:唯一号appid:开发者应用IDadid:广告IDadname:广告名称(urlencode操作)appuserid:开发者设置的用户ID(SDK中设置,urlencode操作)deviceid:唯一标识(MAC或IDFA)source:渠道来源(adjuz)point:积分值(用户可以赚取的积分)time:当前产生的时间戳checksum:签名结果值签名算法把所有的参数组成一个字符串,用md5加密来校验此请求是否合法string parames= ?hashid={hashid}&appid={appid}&adid={adid}&adname={adname}&appuserid={ap puserid}&deviceid={deviceid}&source=adjuz&point={point}&time={time}&appsecret ={appsecret};string checksum = md5(parames);注:如果加密的参数值带有中文,此时MD5进行加密的参数值都为原始值;接口返回值格式定义:必须返回JSON格式:如:{"message":"返回消息","success":"true"};注:如果收到的不是true,巨掌服务器就会在下一个循环请求开发者服务器;如果请求失败次数达到5次(若有需要,可联系技术单独处理),此时巨掌服务器不再重复请求。
Osip开发者手册:/zysee/archive/2007/01/16/1484239.aspxoSIP开发者手册——本手册指导开发者利用oSIP栈开发用户代理原文标题:oSIP User Manual原文作者:Aymeric Moizard联系方法:jack@版权保护:GNU Free Documentation License项目网站:译文作者:陈善学联系方法:chenshanxue@摘要“会话发起协议(Session Initiation Protocol-SIP)是一个应用层的信令控制协议。
用于创建、修改和终止一个或多个参与者的会话。
这些会话可以是Internet多媒体会议、IP电话或多媒体分发(例如:语音信箱)。
会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
”"The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these."版权本文的版权归Aymeric Moizard所有。
允许拷贝、分发和在”GNU Free Documentation License”(版本1.1或由自由软件基金会最近发布的任何版本)下的定制。
文档修订摘要亚信科技(中国)有限公司版权所有文档中的全部内容属亚信科技(中国)有限公司所有,未经允许,不可全部或部分发表、复制、使用于任何目的。
目录第1章WEBSERVICE (6)1.1WS服务端 (6)1.1.1简介 (6)1.1.2原理分析 (6)1.1.3表模型 (7)1.1.4重要字段配置格式 (8)1.1.5使用例子 (8)1.1.6使用技巧 (9)1.2WS客户端 (9)1.2.1简介 (9)1.2.2原理分析 (10)1.2.3表模型 (11)1.2.4重要字段配置格式 (12)1.2.5使用例子 (12)1.2.6使用技巧 (13)第2章HTTP (14)2.1H TTP服务端 (14)2.1.1简介 (14)2.1.2原理分析 (14)2.1.3表模型 (15)2.1.4重要字段配置格式 (16)2.1.5使用例子 (17)2.1.6使用技巧 (18)2.2H TTP客户端 (19)2.2.1简介 (19)2.2.2原理分析 (19)2.2.3表模型 (20)2.2.4重要字段配置格式 (20)2.2.5使用例子 (21)2.2.6使用技巧 (22)第3章SOCKET (23)3.1S OCKET服务端 (23)3.1.1简介 (23)3.1.2原理分析 (23)3.1.3表模型 (24)3.1.4配置文件(socket/socket.properties) (25)3.1.5重要字段配置格式 (26)3.1.6使用例子 (27)3.1.7使用技巧 (29)3.2命令处理方式 (29)3.2.1DefaultCommandHandler(字符串命令) (29)3.2.2DefaultBinaryHandler(字节处理命令) (30)3.2.3AdvanceBinaryHandler(高级字节命令) (30)3.2.4IOverloadProtect(过载保护接口) (30)3.2.5DefaultWorkThread(异步执行线程) (30)3.2.6DefaultSendThread(异步发送线程) (31)3.2.7SecurityData (31)3.3其它功能 (32)3.3.1AdvanceCommandHandler(高级命令) (32)3.3.2DataModeProcess(协议转换) (32)3.3.3IFilter (32)3.4Q UICK S ERVER简介 (33)第4章TASK(任务调度) (34)4.1T ASK任务调度框架 (34)4.1.1简介 (34)4.1.2原理分析 (34)4.1.3表模型 (35)4.1.4配置文件(task/ task.properties) (36)4.1.5重要字段配置格式 (37)4.1.6历史表和日志的处理 (37)4.1.7使用例子 (37)4.1.8使用技巧 (37)4.2T ASK原理 (38)4.2.1TaskScanJob(扫描任务) (38)4.2.2TaskJob(执行任务) (38)4.3任务使用模式的区别 (39)4.3.1立即执行(I) (39)4.3.2固定时间执行(F) (39)4.3.3周期执行(C) (39)第5章MEMCACHED (40)5.1M EMCACHED客户端 (40)5.1.1简介 (40)5.1.2原理分析 (40)5.1.3表模型 (40)5.1.4配置文件(memcached.properties) (41)5.1.5重要字段配置格式 (42)5.1.6使用例子 (42)5.1.7使用技巧 (42)5.2常用API (42)5.2.1DefaultMemcachedClient (42)5.2.2MemcachedBufferedDriver (43)5.2.3MemcachedTransactionFactory (43)5.2.4SocketObjectPool (44)5.2.5ValidateFactory (44)5.2.6LoadBalanceFactory (44)5.2.7IOFactory (45)5.3M EMCACHED服务端 (45)5.3.1简介 (45)5.3.2原理分析 (46)5.3.3基本协议 (46)5.3.4特性和限制 (47)5.3.5使用例子 (47)5.3.6使用技巧 (47)5.4PCE的应用 (48)5.4.1简介 (48)5.4.2原理分析 (48)5.4.3表模型 (49)5.4.4Shell脚本 (49)5.4.5使用例子 (49)5.4.6使用技巧 (49)第6章TF(数据转移) (50)6.1TF (50)6.1.1简介 (50)6.1.2原理分析 (50)6.2使用模式 (50)6.2.1普通(默认) (50)6.2.2分组(-g) (51)6.2.3对比(-c) (51)6.2.4Reload(-r) (51)6.2.5高级特性 (52)6.3表模型 (52)6.3.1CFG_TF(TF定义表) (52)6.3.2CFG_TF_DTL(TF目的/历史表配置) (53)6.3.3CFG_TF_MAPPING(TF字段映射列配置) (54)6.3.4CFG_TF_THREAD(TF线程运行配置) (54)6.3.5RELOAD_LOG(RELOAD模式使用) (54)6.4配置文件 (55)6.4.1tf/compare.properties (55)6.4.2tf/tf.properties (55)6.4.3tf/reload.properties (55)第7章REMOTE(远程调用) (57)7.1R EMOTE (57)7.1.1简介 (57)7.1.2原理分析 (57)7.1.3表模型 (58)7.1.4配置文件(remote/client.properties) (58)7.1.5重要字段配置格式 (60)7.1.6使用例子 (60)7.1.7使用技巧 (60)7.2JBOSS R EMOTE (60)7.2.1简介 (60)7.2.2原理分析 (60)7.2.3表模型 (60)7.2.4配置文件 (60)7.2.5重要字段配置格式 (60)7.2.6使用例子 (60)7.2.7使用技巧 (60)7.3F LYING S ERVER (60)7.3.1简介 (60)7.3.2原理分析 (60)7.3.3表模型 (60)7.3.4配置文件 (61)7.3.5重要字段配置格式 (61)7.3.6使用例子 (61)7.3.7使用技巧 (61)第8章BP(批量管控) (62)8.1BP (62)8.1.1简介 (62)8.1.2原理分析 (63)8.1.3配置文件 (63)8.1.4重要字段配置格式 (63)8.1.5使用例子 (63)8.1.6使用技巧 (64)8.2表模型 (64)8.2.1BP_FILE (64)8.2.2BP_FILE_COL (64)8.2.3BP_FILE_FORMAT (65)8.2.4BP_DATA (65)8.2.5BP_DATA_LINE (65)8.2.6BP_DATA_COL (66)8.2.7BP_DATA_BUSI_P ARA (66)8.2.8BP_FTP (67)8.2.9BP_STATUS (67)8.2.10BP_TEMPLATE(批量管控模板) (68)8.2.11BP_TEMPLATE_GROUP (68)8.2.12BP_TEMPLATE_REGISTER(模板版本注册) (69)8.2.13BP_TIME (69)8.2.14BP_TIME_GROUP (69)第9章FS(搜索引擎) (70)9.1FS (70)9.1.1简介 (70)9.1.2原理分析 (70)9.1.3表模型 (70)9.1.4配置文件 (71)9.1.5重要字段配置格式 (71)9.1.6使用例子 (71)9.1.7使用技巧 (71)9.1.8未归类 (71)第10章CAU (73)10.1CAU (73)10.1.1简介 (73)10.1.2原理分析 (73)10.1.3表模型 (74)10.1.4配置文件 (74)10.1.5重要字段配置格式 (74)10.1.6使用例子 (74)10.1.7使用技巧 (75)第1章WebServiceWebService框架所在的JAR包:appframe_ext_exeframe.jar1.1 WS服务端1.1.1 简介●WS服务端:就是把Jetty当成作一个Tomcat来运行,并且动态发布Axis的应用到Jetty。
37.3 开发Apple Watch应用程序72737.3.1 创建Watch应用Watch应用程序是在Apple Watch上进行交互的主体,Watch应用程序通常从Apple Watch的主屏幕上访问,并且能够提供一部分关联iOS应用的功能。
Watch应用的目的是让用户快速浏览相关数据。
Watch 应用程序与在用户iPhone上运行的WatchKit应用扩展协同工作,不会包含任何自定义代码,仅仅只是存储了故事板以及和用户界面相关联的资源文件。
WatchKit应用扩展是实现这些操作的核心所在,它包含了页面逻辑以及用来管理内容的代码,实现用户操作响应并刷新用户界面。
由于应用扩展是在用户的iPhone上运行的,因此它能轻易地和iOS应用协同工作,比如说收集坐标位置或者执行其他长期运行任务。
37.3.2 创建Glance界面Glance是一个展示即时重要信息的密集界面,Glance中的内容应当简洁。
Glance不支持滚动功能,因此整个Glance界面只能在单个界面上显示,开发者需要保证它拥有合适的大小。
Glance只允许只读,不能包含按钮、开关或其他交互动作。
单击Glance会直接启动Watch应用。
开发者需要在WatchKit应用扩展中添加管理Glance的代码,用来管理Glance界面的类与Watch应用的类相同。
虽然如此Glance更容易实现,因为其无需响应用户交互动作。
37.3.3 自定义通知界面Apple W atch能够和与之配对的iPhone协同工作,来显示本地或者远程通知。
Apple Watch首先使用一个小窗口来显示进来的通知,当用户移动手腕希望看到更多的信息时,这个小窗口会显示出更详细的通知内容。
应用程序可以提供详情界面的自定义版本,并且可以添加自定义图像或者改变系统默认的通知信息。
Apple Watch支持从iOS 8开始引入的交互式通知。
在这种交互式通知应用中,通过在通知上添加按钮的方式来让用户立即做出回应。
osgFX - 开发者简明手册Marco Jez2003年9月osgFX是一个OpenSceneGraph的附加库,是一个用于实现一致、完备、可重用的特殊效果的构架工具,其效果可以添加到OSG的节点中。
它同时还包含了一系列预定义好的特殊效果。
osgFX概述所谓“特效”指的是装载于单个对象中的一系列可视的属性和行为。
要实现一个真正可用的特效,相应的特效类应当具备一个公有的接口,以修改各种配置和微调量。
特效也可以被理解成是提出问题(对象应当是什么样子)与解决问题(应当设置哪些属性和其它调节量)之间的“桥梁”。
从C++代码来看,特效具现了osgFX::Effect类的实例。
或者说,是这个类的派生类的实例,因为osgFX::Effect直接派生自osg::Node,因此它是抽象类。
对于OSG而言,特效就是一个Node节点。
它与其它节点类的特性完全相同,因此可以关联到场景图形中的任意位置。
特效功能图如图1所示。
Effect类是一个多子节点的组节点。
它使用addChild()方法和其它节点关联。
在特效类中设置的可视属性将被关联到它的子节点上,与此相类似,Transform节点也会将坐标变换的信息应用到其子节点上。
Effect中的各种属性不会在其子节点以外生效。
如果用户想要将某一种特效应用到自己的图形子树上,那么需要遵循下面的步骤:1、创建所需特效的实例,例如,osgFX::Scribe;2、必要的话,使用特效类的方法设置特效属性;3、调用Effect::addChild()方法,将图形子树与特效节点相关联;4、将特效节点与场景图形关联。
下面的例子中使用了刻线(scribe)特效:osg::ref_ptr<osg::Node> my_node = osgDB::readNodeFi le(“cow.osg”);osg::ref_ptr<osgFX::Scribe> scribe_fx = new osgFX::Scribe;scribe_fx->addChild(my_node.get());scribe_fx->setEnabled(true);root->addChild(scribe_fx.get());代码执行的结果如图2所示。
深入学习:技法和通道技法就是实现特效的某一种可能方法。
由于图形硬件设备种类繁多,OpenGL也在不断扩展,因此不太可能用一种通用的方法来实现复杂的效果:针对不同的硬件和OpenGL环境,用户需要采用不同的实现手段来实现某个特效。
一种特效的产生往往可以采用一种或几种技法,每一种技法都采用不同的方式来尝试实现相同的效果。
缺省情况下,Effect类使用私有的StateAttribute对象来实时演算和验证各种技法,并选择最好的一种。
特效的开发者可以自行定义各种技法的优先级,从而要求OSG首先验证用户所选的技法。
Effect类会选择在实时的所有活动渲染设备中,可通过验证的优先级最高的技法,以为己用。
如果需要的话,用户可以在任何时刻重载这一缺省特性。
Effect类的技法功能图表如图3所示。
多通道渲染的意思是,每次都使用不同的可视属性,多次绘制同一对象后,合并所有通道获得的最终图像。
某些技法可能需要不止一个通道来实现所需的输出结果。
技法类为每个渲染通道都创建一个StateSet对象,然后交由osgFX管理多通道的渲染工作。
Effect类的通道功能图表如图4所示。
扩展osgFX创建一个新的特效的基本步骤如下。
1、特效都是从osgFX::Effect派生而来的,因此用户可以自由创建自己的派生类,例如命名它为TestFx。
2、具现抽象方法,例如effectName(),effectDescription()等,可能需要用到META_Effect宏。
3、向系统注册新的特效类,即创建一个Registry::Proxy的静态实例:osgFX::Registry::Proxy proxy(new TestFx);4、具现保护成员中的抽象方法define_techniques(),以便创建所需的特效技法。
为了实现某个技法,用户需要编写一个继承自osgFX::Technique的类;且这个类应当是私有的。
在用户特效类的define_techniques()方法中,创建上述用户技法类的实例,并使用Effect::addTechnique()按照优先级降序的顺序将其添加到特效类中。
为新建的技法提供一个验证手段。
最简单(但不是最灵活的)的方法是重载Technique::getRequiredExtensions()方法,并指定这个技法所需的OpenGL扩展函数。
具现Technique::define_passes()方法,以便创建渲染通道。
渲染通道的内部实现,是将其作为一个Group对象与一个StateSet相关联。
特效类的子节点在运行时将自动被添加到通道节点上。
技法类的define_passes()方法为每个渲染通道创建了一个StateSet对象,并调用Technique::addPass()将其添加到技法类中。
通道节点将自动生成并连接到渲染状态之上。
以下为创建一个特效类所需的基本代码:Class TestFX (public){……META_Effect(……);bool define_techniques(){addTechnique(new FirstTechnique);// 也可以继续添加别的技法实例。
}……}Class FirstTechnique (private){……void getRequiredExtensions(……) const{// 指定所需的GL扩展功能。
}void define_passes(){osg::ref_ptr<osg::StateSet> ss1 = new osg::StateSet;// 添加渲染属性到ss1之后……addPass(ss1.get());osg::ref_ptr<osg::StateSet> ss2 = new osg::StateSet;// 添加渲染属性到ss2之后……addPass(ss2.get());}……}总结:1、继承osgFX::Effect并创建特效类(例如TestFx),为其添加名字和描述信息,并使用注册代理(registry proxy)注册到系统中;2、为用户所需的每个技法创建私有类,并定义它们的验证手段;3、在TestFx::define_techniques()中创建一个技法类的实例,并调用addTechnique()将其添加到特效中;4、在每个技法类的define_passes()方法中,创建一个或多个StateSet对象(每个渲染通道创建一个),并调用addPass()将其添加到技法中。
例子程序osgfxbrowser的效果如图5~8所示。
对于目前已提供的特效,简介如下:刻线(Scribe)这是一个双通道的特效;第一个通道以通常的方式渲染图形,而第二个通道使用线框模式,用户设置好光照和材质之后,即可使用指定的颜色进行渲染。
这个特效中使用了PolygonOffset渲染属性类来避免多边形斑驳(Z-fighting)的现象,它所需的OpenGL版本至少为1.1。
各向异性光照(Anisotropic Lighting)这种特效使用单一通道,它使用了一种各向异性的光照来替代OpenGL的标准光照模型。
几何体顶点的颜色在这里不是直接进行计算的,而是纹理映射到用户指定的光照图板的结果。
这里需要使用顶点着色器(vertex program)来计算纹理坐标S和T的值:S = N · H;T = N · L。
(其中的数学运算为点乘)这里N表示顶点的法线,L表示光到顶点的向量,H表示中间向量。
这种特效很好地演示了State::getInitialViewMatrix()方法的使用,它可以直接获取视口的初始矩阵并实现直接与视口相关的特效,而不需要任何假借的工作。
该特效需要ARB_vertex_program扩展的支持。
卡通渲染(Cartoon)这种特效实现了一种名为卡通着色(Cel-Shading)的技法,从而产生一种卡通式的(非真实感的)的渲染效果。
它需要两个通道支持;第一个用于绘制实体表面,第二个用于绘制轮廓线。
该特效需要使用顶点着色器来设置纹理坐标,以便在运行时生成的纹理单元0上实现一种尖锐的光照效果。
该特效需要ARB_vertex_program扩展或者OpenGL着色语言的支持。
基于立方映射图的镜面高光(Cubemap-based Specular Highlights)这种特效在片断层级(fragment level)上(而不是OpenGL通常的顶点层级)应用了镜面高光,它使用了立方映射图和反射纹理生成(reflective texgen)的技术。
首先要计算出纹理矩阵以实现立方映射图的自动旋转;这样无论从观察的方向和光照位置上来说,镜面光的效果都将是始终不变的。
用户可以选择使用何种光照来计算纹理矩阵。
该特效需要GL_ARB_texture_env_add扩展以及任意一种立方映射图扩展(GL_EXT_texture_cube_map,GL_ARB_texture_cube_map,或者OpenGL 1.3)的支持。
凹凸贴图(Bump Mapping)这种特效可以创建一种凹凸不平的表面效果。
其子节点必须使用两种纹理,其一是漫反射颜色,另一个是法线贴图(可以使用nVIDIA的法线贴图生成器或者其它工具,根据高度图自动生成)。
此外,还需要创建正切空间(tangent-space)的基向量并将其关联到每个Geometry几何体上;这一步骤可以调用BumpMapping::prepareChildren()方法来迅速完成。
注意Geometry对象的漫反射颜色和法线贴图纹理都必须提前定义好对应的UV贴图。
该特效推荐使用一种运用了ARB顶点和片断着色器的技法,另外还定义了一种不使用片断着色器的技法。
后者无法处理环境和镜面组件的运算,因此在运行时很受限制。