{"id":519,"date":"2012-03-07T12:56:08","date_gmt":"2012-03-07T03:56:08","guid":{"rendered":"http:\/\/nyatla.jp\/nyartoolkit\/wp\/?p=519"},"modified":"2012-03-07T13:18:27","modified_gmt":"2012-03-07T04:18:27","slug":"nyartoolkitcs4-0-0-released","status":"publish","type":"post","link":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/?p=519","title":{"rendered":"NyARToolkitCS\/4.0.0 released"},"content":{"rendered":"<p>NyARToolkitCS\/4.0.0\u3092\u30ea\u30ea\u30fc\u30b9\u3057\u307e\u3059\u3002<\/p>\n<h2>\u66f4\u65b0\u5185\u5bb9<\/h2>\n<p>\u66f4\u65b0\u5185\u5bb9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<ul>\n<li>NyARToolkit\/4.0.0\u306b\u642d\u8f09\u3057\u305fMarkerSystem\u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n<li>Processing\u30e9\u30a4\u30af\u306a\u7c21\u6613\u30b9\u30b1\u30c3\u30c1\u30b7\u30b9\u30c6\u30e0\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/li>\n<li>\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u306eAPI\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002C#\u306eBitmap\u30af\u30e9\u30b9\u3068\u306e\u4e92\u63db\u6027\u304c\u5411\u4e0a\u3057\u3066\u3044\u307e\u3059\u3002\u5f71\u97ff\u306b\u3088\u308a\u3001\u4e00\u90e8\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3API\u306e\u4e92\u63db\u6027\u304c\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4fee\u6b63\u3057\u3066\u3001\u4ee3\u66ffAPI\u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n<li>WindowsMobile\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\uff08\u8981\u671b\u304c\u3042\u308c\u3070\u5fa9\u6d3b\u3057\u307e\u3059\u3002\uff09<\/li>\n<\/ul>\n<h2>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/h2>\n<p>\u3053\u3061\u3089\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002<a href=\"http:\/\/sourceforge.jp\/projects\/nyartoolkit\/releases\/?package_id=7672\"><br \/>\nhttp:\/\/sourceforge.jp\/projects\/nyartoolkit\/releases\/?package_id=7672<\/a><\/p>\n<p>Unity\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001NyARToolkitUnity\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5225\u9014\u4f5c\u308a\u307e\u3059\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>&nbsp;<\/p>\n<h2>\u30b5\u30f3\u30d7\u30eb<\/h2>\n<p>\u65b0\u3057\u3044MarkerSystem\u3068\u30b9\u30b1\u30c3\u30c1\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u3063\u305fSimpleLite\u306f\u3001\u5f93\u6765\u3068\u6bd4\u8f03\u3057\u3066\u30b7\u30f3\u30d7\u30eb\u306b\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nusing System;\r\nusing System.Drawing;\r\nusing System.Collections.Generic;\r\nusing System.Text;\r\nusing jp.nyatla.nyartoolkit.cs.core;\r\nusing jp.nyatla.nyartoolkit.cs.markersystem;\r\nusing NyARToolkitCSUtils;\r\nusing NyARToolkitCSUtils.Direct3d;\r\nusing NyARToolkitCSUtils.Capture;\r\nusing Microsoft.DirectX;\r\nusing Microsoft.DirectX.Direct3D;\r\n\r\nnamespace SimpleLite\r\n{\r\n    class Sketch : D3dSketch\r\n    {\r\n        private const int SCREEN_WIDTH = 640;\r\n        private const int SCREEN_HEIGHT = 480;\r\n        private const String AR_CODE_FILE = &quot;..\/..\/..\/..\/..\/data\/patt.hiro&quot;;\r\n\r\n        private NyARD3dMarkerSystem _ms;\r\n        private NyARDirectShowCamera _ss;\r\n        private NyARD3dRender _rs;\r\n        private int mid;\r\n        public override void setup(CaptureDevice i_cap)\r\n        {\r\n            Device d3d=this.size(SCREEN_WIDTH, SCREEN_HEIGHT);\r\n            i_cap.PrepareCapture(SCREEN_WIDTH, SCREEN_HEIGHT, 30.0f);\r\n            INyARMarkerSystemConfig cf = new NyARMarkerSystemConfig(SCREEN_WIDTH, SCREEN_HEIGHT);\r\n            d3d.RenderState.ZBufferEnable = true;\r\n            d3d.RenderState.Lighting = false;\r\n            d3d.RenderState.CullMode = Cull.CounterClockwise;\r\n            this._ms = new NyARD3dMarkerSystem(cf);\r\n            this._ss = new NyARDirectShowCamera(i_cap);\r\n            this._rs = new NyARD3dRender(d3d, this._ms);\r\n            this.mid = this._ms.addARMarker(AR_CODE_FILE, 16, 25, 80);\r\n\r\n            \/\/set View mmatrix\r\n            this._rs.loadARViewMatrix(d3d);\r\n            \/\/set Viewport matrix\r\n            this._rs.loadARViewPort(d3d);\r\n            \/\/setD3dProjectionMatrix\r\n            this._rs.loadARProjectionMatrix(d3d);\r\n            this._ss.start();\r\n        }\r\n\r\n        public override void loop(Device i_d3d)\r\n        {\r\n            lock (this._ss)\r\n            {\r\n                this._ms.update(this._ss);\r\n                this._rs.drawBackground(i_d3d, this._ss.getSourceImage());\r\n                i_d3d.BeginScene();\r\n                i_d3d.Clear(ClearFlags.ZBuffer, Color.DarkBlue, 1.0f, 0);\r\n                if (this._ms.isExistMarker(this.mid))\r\n                {\r\n                    \/\/\u7acb\u65b9\u4f53\u309220mm\u4e0a\uff08\u30de\u30fc\u30ab\u30fc\u306e\u4e0a\uff09\u306b\u305a\u3089\u3057\u3066\u304a\u304f\r\n                    Matrix transform_mat2 = Matrix.Translation(0, 0, 20.0f);\r\n                    \/\/\u5909\u63db\u884c\u5217\u3092\u639b\u3051\u308b\r\n                    transform_mat2 *= this._ms.getD3dMarkerMatrix(this.mid);\r\n                    \/\/ \u8a08\u7b97\u3057\u305f\u30de\u30c8\u30ea\u30c3\u30af\u30b9\u3067\u5ea7\u6a19\u5909\u63db\r\n                    i_d3d.SetTransform(TransformType.World, transform_mat2);\r\n                    \/\/ \u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\uff08\u63cf\u753b\uff09\r\n                    this._rs.colorCube(i_d3d,40);\r\n                }\r\n                i_d3d.EndScene();\r\n            }\r\n            i_d3d.Present();\r\n        }\r\n        public override void cleanup()\r\n        {\r\n            this._rs.Dispose();\r\n        }\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            new Sketch();\r\n        }\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>NyARToolkitCS\/4.0.0\u3092\u30ea\u30ea\u30fc\u30b9\u3057\u307e\u3059\u3002 \u66f4\u65b0\u5185\u5bb9 \u66f4\u65b0\u5185\u5bb9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002 NyARToolkit\/4.0.0\u306b\u642d\u8f09\u3057\u305fMarkerSystem\u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 Processing\u30e9\u30a4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,13],"tags":[],"_links":{"self":[{"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/posts\/519"}],"collection":[{"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=519"}],"version-history":[{"count":6,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/posts\/519\/revisions"}],"predecessor-version":[{"id":525,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=\/wp\/v2\/posts\/519\/revisions\/525"}],"wp:attachment":[{"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nyatla.jp\/nyartoolkit\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}