{"id":14991,"date":"2022-05-24T22:52:07","date_gmt":"2022-05-24T14:52:07","guid":{"rendered":"https:\/\/www.bookcard.net\/wordpress\/?p=14991"},"modified":"2022-06-09T17:32:00","modified_gmt":"2022-06-09T09:32:00","slug":"texture_puzzle","status":"publish","type":"post","link":"https:\/\/www.bookcard.net\/wordpress\/texture_puzzle\/","title":{"rendered":"\u7d0b\u7406\u62fc\u5716"},"content":{"rendered":"<figure id=\"attachment_14992\" aria-describedby=\"caption-attachment-14992\" style=\"width: 1280px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2022\/05\/Texture_Puzzle.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14992\" src=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2022\/05\/Texture_Puzzle.jpg\" alt=\"\u7d0b\u7406\u62fc\u5716\" width=\"1280\" height=\"800\" srcset=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2022\/05\/Texture_Puzzle.jpg 1280w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2022\/05\/Texture_Puzzle-300x188.jpg 300w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2022\/05\/Texture_Puzzle-768x480.jpg 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><figcaption id=\"caption-attachment-14992\" class=\"wp-caption-text\">\u7d0b\u7406\u62fc\u5716<\/figcaption><\/figure>\n<p>2D\u6e38\u6232\u52d5\u753b\u5e40, \u7531\u591a\u5e45\u95dc\u9375\u5e40(keyFrame) \u7d44\u6210. \u9010\u5e40\u6e32\u67d3\u7522\u751f\u52d5\u753b\u5361\u901a.\u300e\u5e40\u52d5\u753b\u300f\u4ea6\u54ce\u544c\u300e\u7d0b\u7406\u300ftexture. \u5c06\u591a\u5e45\u300e\u5e40\u52d5\u753b\u300f\u5b58\u653e\u4fc2\u55ae\u58f9\u7d0b\u7406.OpenGL\u53ef\u63d0\u9ad8\u6e32\u67d3\u901f\u5ea6, \u4fc2\u663e\u5b58\u8a18\u61b6\u9ad41MB\u5e74\u4ee3\u53ef\u80fd\u5187\u7528. \u4e8b\u56e0\u6e32\u67d3\u7686\u4fc2\u96fb\u8111\u8a18\u61b6\u9ad4\u904b\u4f5c.<\/p>\n<p>\u4fc2\u663e\u5b58\u8a18\u61b6\u9ad4\u5927\u5e45\u589e\u9577, OpenGL\u6e32\u67d3\u4fc2\u663e\u5b58\u8a18\u61b6\u9ad4\u5b8c\u6210. \u51cf\u5c0f\u300e\u7d0b\u7406\u300f\u8f09\u5165\u91cf, \u55ae\u58f9\u7d0b\u7406\u5b58\u653e\u591a\u5e45\u300e\u5e40\u52d5\u753b\u300f,\u53ef\u63d0\u9ad8\u6e32\u67d3\u901f\u5ea6.<\/p>\n<p>\u4fc23D\u6e38\u6232\u4ea6\u53ef\u7528\u76f8\u540c\u6280\u8853\u63d0\u98db\u6e32\u67d3\u6548\u7387.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">void zoom_textcoord_model3D(TEXTURE_PTR texture,int index,int size,VECTOR2D_PTR dest,VECTOR2D_PTR sour,int count,int flag)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"290\">texture<\/td>\n<td width=\"290\">\u7d0b\u7406<\/td>\n<\/tr>\n<tr>\n<td width=\"290\">index<\/td>\n<td width=\"290\">\u95dc\u9375\u5e40\u7d22\u5f15<\/td>\n<\/tr>\n<tr>\n<td width=\"290\">size<\/td>\n<td width=\"290\">\u95dc\u9375\u5e40\u5bec\u9ad8\u89e3\u50cf<\/td>\n<\/tr>\n<tr>\n<td width=\"290\">dest<\/td>\n<td width=\"290\">\u7eb9\u7406\u968a\u5217<\/td>\n<\/tr>\n<tr>\n<td width=\"290\">sour<\/td>\n<td width=\"290\">\u539f\u59cb\u7eb9\u7406\u968a\u5217<\/td>\n<\/tr>\n<tr>\n<td width=\"290\">count<\/td>\n<td width=\"290\">\u7eb9\u7406\u9802\u9ede\u91cf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8a08\u55ae\u5143\u683c<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">int cell = texture-&gt;width \/ size;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8a08\u7d22\u5f15<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">int \u00a0i\u00a0 = index % cell;\/\/ \u6a6b\u7d22\u5f15<\/td>\n<\/tr>\n<tr>\n<td width=\"580\">int\u00a0 j\u00a0 = index \/ cell;\/\/ \u884c\u7d22\u5f15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8a08\u7f29\u653e\u73870.0f &lt; zoom &lt; 1.0f<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">float\u00a0\u00a0\u00a0 zoom\u00a0\u00a0\u00a0 = (float)size \/ (float)texture-&gt;width;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8a08\u300e\u5e40\u300f\u504f\u79fb.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">float offsetX = (float)zoom * (float)i;<\/td>\n<\/tr>\n<tr>\n<td width=\"580\">float offsetY = (float)zoom * (float)j;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u904d\u6b74UV\u7d0b\u7406\u9802\u3e03<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">\u00a0\u00a0\u00a0 for (int p = 0; p &lt; count; ++p){<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7f29\u7d30\u5f8c\u79fb\u52d5<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">dest[p].u = sour[p].u * zoom + offsetX ;<\/td>\n<\/tr>\n<tr>\n<td width=\"580\">dest[p].v = sour[p].v * zoom + offsetY;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7eb9\u7406\u8fd4\u8f6c<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"580\">if (flag &amp; MODEL3D_TEXTURE_FLIP)<\/p>\n<p>dest[p].v = 1 &#8211; (sour[p].v * zoom + offsetY);}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2D\u6e38\u6232\u52d5\u753b\u5e40, \u7531\u591a\u5e45\u95dc\u9375\u5e40(keyFrame) \u7d44\u6210. \u9010\u5e40\u6e32\u67d3\u7522\u751f\u52d5\u753b\u5361\u901a.\u300e\u5e40\u52d5\u753b\u300f\u4ea6\u54ce\u544c\u300e\u7d0b\u7406\u300fte &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/texture_puzzle\/\" class=\"more-link\">\u7e7c\u7e8c\u95b1\u8b80 <span class=\"screen-reader-text\">\u7d0b\u7406\u62fc\u5716<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,62,51,11,13],"tags":[2,3,10,42],"class_list":["post-14991","post","type-post","status-publish","format-standard","hentry","category-android","category-opengl","category-windows","category-algorithm","category-pc","tag-android","tag-windows","tag-algorithm","tag-computer","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/14991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/comments?post=14991"}],"version-history":[{"count":1,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/14991\/revisions"}],"predecessor-version":[{"id":14993,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/14991\/revisions\/14993"}],"wp:attachment":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/media?parent=14991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/categories?post=14991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/tags?post=14991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}