jhjeon
asked on
Texture Mapping source code...
I want to get source code of texture mapping in Win32.
<requirement>
source code have to be programed in C.
mapping speed have to be fast(optimized code).
program have to run in Win32 API.
example must be included..
thanks.
<requirement>
source code have to be programed in C.
mapping speed have to be fast(optimized code).
program have to run in Win32 API.
example must be included..
thanks.
ASKER
BlackMan, thanks for your comment
but I don't want Direct3d, OpenGL, Guild etc..
I do not need source code with 3D library ..
I want raw algorithm of texture mapping .
but I don't want Direct3d, OpenGL, Guild etc..
I do not need source code with 3D library ..
I want raw algorithm of texture mapping .
True texture mapping onto a polygonal object? As opposed to just bitmapping.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
nils pipenbrinck, Thanks for your answer!
have a good day !!
have a good day !!
/*========================
*
* Copyright (C) 1995, 1996 Microsoft Corporation. All Rights Reserved.
*
* File: tex1.c
*
**************************
/*
* A texture mapping example using a cylindrical mapping.
*/
#include "rmdemo.h"
BOOL
BuildScene(LPDIRECT3DRMDEV
LPDIRECT3DRMFRAME scene, LPDIRECT3DRMFRAME camera)
{
LPDIRECT3DRMMESH mesh = NULL;
LPDIRECT3DRMMESHBUILDER builder = NULL;
LPDIRECT3DRMFRAME frame = NULL;
LPDIRECT3DRMTEXTURE tex = NULL;
LPDIRECT3DRMMATERIAL mat = NULL;
LPDIRECT3DRMWRAP wrap = NULL;
LPDIRECT3DRMLIGHT l1 = NULL;
LPDIRECT3DRMLIGHT l2 = NULL;
D3DRMBOX box;
D3DVALUE miny, maxy;
D3DVALUE height;
HRESULT rval;
dev;
view;
camera;
if (FAILED(lpD3DRM->lpVtbl->C
D3DVAL(0.2), D3DVAL(0.2), &l1)))
goto generic_error;
if (FAILED(scene->lpVtbl->Add
goto generic_error;
if (FAILED(lpD3DRM->lpVtbl->C
goto generic_error;
if (FAILED(frame->lpVtbl->Set
D3DVAL(1), D3DVAL(0), D3DVAL(1), D3DVAL(0))))
goto generic_error;
if (FAILED(lpD3DRM->lpVtbl->C
D3DVAL(1), D3DVAL(1), &l2)))
goto generic_error;
if (FAILED(frame->lpVtbl->Add
goto generic_error;
RELEASE(frame);
if (FAILED(lpD3DRM->lpVtbl->C
goto generic_error;
if (FAILED(frame->lpVtbl->Set
goto generic_error;
if (FAILED(frame->lpVtbl->Set
D3DVAL(0.0), D3DVAL(0.04))))
goto generic_error;
if (FAILED(lpD3DRM->lpVtbl->C
goto generic_error;
rval = builder->lpVtbl->Load(buil
D3DRMLOAD_FROMFILE, NULL, NULL);
if (rval != D3DRM_OK) {
Msg("Failed to load sphere4.x.\n%s", D3DRMErrorToString(rval));
goto ret_with_error;
}
rval = lpD3DRM->lpVtbl->LoadTextu
if (rval != D3DRM_OK) {
Msg("Failed to load tex7.ppm.\n%s", D3DRMErrorToString(rval));
goto ret_with_error;
}
if (FAILED(lpD3DRM->lpVtbl->C
goto generic_error;
if (FAILED(builder->lpVtbl->S
goto generic_error;
if (FAILED(builder->lpVtbl->S
goto generic_error;
if (FAILED(builder->lpVtbl->S
goto generic_error;
if (FAILED(builder->lpVtbl->C
goto generic_error;
RELEASE(builder);
if (FAILED(mesh->lpVtbl->GetB
goto generic_error;
maxy = box.max.y;
miny = box.min.y;
height = maxy - miny;
if (FAILED(lpD3DRM->lpVtbl->C
D3DVAL(0.0), D3DVAL(0.0), D3DVAL(0.0),
D3DVAL(1.0), D3DVAL(0.0), D3DVAL(0.0),
D3DVAL(0.0), D3DVAL(1.0), D3DVAL(0.0),
D3DDivide(miny, height), D3DVAL(1.0),
D3DDivide(-D3DVAL(1.0), height), &wrap)))
goto generic_error;
if (FAILED(wrap->lpVtbl->Appl
goto generic_error;
if (FAILED(frame->lpVtbl->Add
goto generic_error;
RELEASE(frame);
RELEASE(wrap);
RELEASE(mesh);
RELEASE(tex);
RELEASE(mat);
RELEASE(l1);
RELEASE(l2);
return TRUE;
generic_error:
Msg("A failure occurred while building the scene.\n");
ret_with_error:
RELEASE(mesh);
RELEASE(builder);
RELEASE(frame);
RELEASE(tex);
RELEASE(mat);
RELEASE(wrap);
RELEASE(l1);
RELEASE(l2);
return FALSE;
}
void
OverrideDefaults(Defaults*
{
defaults->bConstRenderQual
lstrcpy(defaults->Name, "Texture Mapping Direct3DRM Example");
}