游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3606|回复: 6

菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

[复制链接]

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-8-8 00:16:00 | 显示全部楼层 |阅读模式
1、请问,d3d中,在一个指定的多边形上贴纹理,是一个什么原理呢?

2、我曾经搞了一个试验,建立一个ddraw页面,里面放张图。再在d3d中建立一个矩形(矩形的顶点个数和页面以及图片的大小是一样的,都是80×80),然后,把页面的内容(其实是rgb)付给3d矩形中对应的顶点的颜色。这样,折腾了半天后,最终效果是那张图显示在了矩形上面。(不过,其实具体在对每个顶点一一赋值的时候,我采取了一个很怪的做法才获得成功,函数将在下面付上。)不知道纹理贴图的原理是不是就是这样呢?
不过不管是不是这样,我又觉得奇怪了:我建立的矩形顶点分布是比较疏散的,怎么可能在每个顶点的颜色付得一个值后就组成一张图呢?(而我作这个试验原先的想法是:这样作最后得到的效果应该是一张看上去比较模糊的马赛克似的图)

这就是那个给顶点的颜色赋值的函数:
void Reflect(int x,int z){
        VOID *pVertices;
    lpD3DVertexBuffer->Lock(0,3321*sizeof(CUSTOMVERTEX),(BYTE**)&pVertices,0);
        BYTE* ddsd=(BYTE*)ddsd_src.lpSurface;
        int n=z*3240+24+162*40+x*40;
        int width=81-x;
        int height=79-z;
        _asm{
                mov eax,ddsd//指向ddraw页面的指针,页面在以前就lock了
                mov ebx,pVertices//指向顶点缓存的指针
                mov esi,width
                mov edi,height
                add eax,320*80//怪的地方就是这里!eax是一个指向了上面说的ddraw页面的指针。而这里要对这个指针(也就是eax)加上320×80,最后出来的效果才正确,否则矩形上显示出来的只是整张图的一角。可是,我是完全想不通!这个eax(指针)加上这么个数,都不知道指到哪点去了?怎么还出来了上面说的效果呢?//
                add ebx,n
FirstLoop:
                push ebx
                push eax
                push esi
SecondLoop:
                mov ecx,[eax]
                mov [ebx],ecx
                add ebx,40
                sub eax,4
                dec esi
            jnz SecondLoop
                pop esi
                pop eax
                pop ebx
                add eax,ddsd_src.lPitch
                add ebx,81*40
                dec edi
                jnz FirstLoop
                emms
        }
        lpD3DVertexBuffer->Unlock();
}
还望哪位大侠帮助小弟!

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-8-8 18:24:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

不会吧?!
怎么都没有哪位大侠肯向助于在下?(哭……)

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-8-8 23:30:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

还是没人……

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-8-10 13:16:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

……郁闷中……

2

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2011-5-9 14:45:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

好像是只用设矩形四个点的UV坐标  不过我的立方体 贴了一个面  却只显示一个三角形的图片  另一个三角形没贴好

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2011-5-9 16:29:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

不明白?楹伟?D像素?成3D???料 ?
一??矩形添上UV就???三角型搞定

9

主题

132

帖子

145

积分

注册会员

Rank: 2

积分
145
QQ
发表于 2011-5-11 18:07:00 | 显示全部楼层

Re:菜鸟求救:求d3d中纹理贴图的原理,随便还有相关问题

  额, 先看下3D图形管道吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 02:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表