Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alexey Alyaev
wine
Commits
0457333f
Commit
0457333f
authored
17 years ago
by
Philip Nilsson
Committed by
Alexandre Julliard
17 years ago
Browse files
Options
Downloads
Patches
Plain Diff
d3dx9: Implement the D3DXVec*Array functions.
parent
c0b3af34
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
dlls/d3dx9_36/Makefile.in
+2
-1
2 additions, 1 deletion
dlls/d3dx9_36/Makefile.in
dlls/d3dx9_36/d3dx9_36.spec
+9
-9
9 additions, 9 deletions
dlls/d3dx9_36/d3dx9_36.spec
dlls/d3dx9_36/math.c
+195
-0
195 additions, 0 deletions
dlls/d3dx9_36/math.c
include/d3dx9math.h
+9
-0
9 additions, 0 deletions
include/d3dx9math.h
with
215 additions
and
10 deletions
dlls/d3dx9_36/Makefile.in
+
2
−
1
View file @
0457333f
...
...
@@ -8,7 +8,8 @@ IMPORTS = d3d9 d3dx8 kernel32
C_SRCS
=
\
d3dx9_36_main.c
\
font.c
font.c
\
math.c
@MAKE_DLL_RULES@
...
...
This diff is collapsed.
Click to expand it.
dlls/d3dx9_36/d3dx9_36.spec
+
9
−
9
View file @
0457333f
...
...
@@ -307,30 +307,30 @@
@ stdcall D3DXVec2Hermite(ptr ptr ptr ptr ptr long) d3dx8.D3DXVec2Hermite
@ stdcall D3DXVec2Normalize(ptr ptr) d3dx8.D3DXVec2Normalize
@ stdcall D3DXVec2Transform(ptr ptr ptr) d3dx8.D3DXVec2Transform
@ st
ub
D3DXVec2TransformArray
@ st
dcall
D3DXVec2TransformArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec2TransformCoord(ptr ptr ptr) d3dx8.D3DXVec2TransformCoord
@ st
ub
D3DXVec2TransformCoordArray
@ st
dcall
D3DXVec2TransformCoordArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec2TransformNormal(ptr ptr ptr) d3dx8.D3DXVec2TransformNormal
@ st
ub
D3DXVec2TransformNormalArray
@ st
dcall
D3DXVec2TransformNormalArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec3BaryCentric(ptr ptr ptr ptr long long) d3dx8.D3DXVec3BaryCentric
@ stdcall D3DXVec3CatmullRom(ptr ptr ptr ptr ptr long) d3dx8.D3DXVec3CatmullRom
@ stdcall D3DXVec3Hermite(ptr ptr ptr ptr ptr long) d3dx8.D3DXVec3Hermite
@ stdcall D3DXVec3Normalize(ptr ptr) d3dx8.D3DXVec3Normalize
@ stdcall D3DXVec3Project(ptr ptr ptr ptr ptr ptr) d3dx8.D3DXVec3Project
@ st
ub
D3DXVec3ProjectArray
@ st
dcall
D3DXVec3ProjectArray
(ptr long ptr long ptr ptr ptr ptr long)
@ stdcall D3DXVec3Transform(ptr ptr ptr) d3dx8.D3DXVec3Transform
@ st
ub
D3DXVec3TransformArray
@ st
dcall
D3DXVec3TransformArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec3TransformCoord(ptr ptr ptr) d3dx8.D3DXVec3TransformCoord
@ st
ub
D3DXVec3TransformCoordArray
@ st
dcall
D3DXVec3TransformCoordArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec3TransformNormal(ptr ptr ptr) d3dx8.D3DXVec3TransformNormal
@ st
ub
D3DXVec3TransformNormalArray
@ st
dcall
D3DXVec3TransformNormalArray
(ptr long ptr long ptr long)
@ stdcall D3DXVec3Unproject(ptr ptr ptr ptr ptr ptr) d3dx8.D3DXVec3Unproject
@ st
ub
D3DXVec3UnprojectArray
@ st
dcall
D3DXVec3UnprojectArray
(ptr long ptr long ptr ptr ptr ptr long)
@ stdcall D3DXVec4BaryCentric(ptr ptr ptr ptr long long) d3dx8.D3DXVec4BaryCentric
@ stdcall D3DXVec4CatmullRom(ptr ptr ptr ptr ptr long) d3dx8.D3DXVec4CatmullRom
@ stdcall D3DXVec4Cross(ptr ptr ptr ptr) d3dx8.D3DXVec4Cross
@ stdcall D3DXVec4Hermite(ptr ptr ptr ptr ptr long) d3dx8.D3DXVec4Hermite
@ stdcall D3DXVec4Normalize(ptr ptr) d3dx8.D3DXVec4Normalize
@ stdcall D3DXVec4Transform(ptr ptr ptr) d3dx8.D3DXVec4Transform
@ st
ub
D3DXVec4TransformArray
@ st
dcall
D3DXVec4TransformArray
(ptr long ptr long ptr long)
@ stub D3DXWeldVertices
This diff is collapsed.
Click to expand it.
dlls/d3dx9_36/math.c
0 → 100644
+
195
−
0
View file @
0457333f
/*
* Mathematical operations specific to D3DX9.
*
* Copyright (C) 2008 Philip Nilsson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include
"config.h"
#include
"windef.h"
#include
"wingdi.h"
#include
"wine/debug.h"
#include
"d3dx9.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
d3dx
);
/*************************************************************************
* D3DXVec2TransformArray
*
* Transform an array of vectors by a matrix.
*/
D3DXVECTOR4
*
WINAPI
D3DXVec2TransformArray
(
D3DXVECTOR4
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec2Transform
(
(
D3DXVECTOR4
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR2
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec2TransformCoordArray
*/
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformCoordArray
(
D3DXVECTOR2
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec2TransformCoord
(
(
D3DXVECTOR2
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR2
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec2TransformNormalArray
*/
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformNormalArray
(
D3DXVECTOR2
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec2TransformNormal
(
(
D3DXVECTOR2
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR2
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec3ProjectArray
*
* Projects an array of vectors to the screen.
*/
D3DXVECTOR3
*
WINAPI
D3DXVec3ProjectArray
(
D3DXVECTOR3
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
in
,
UINT
instride
,
CONST
D3DVIEWPORT9
*
viewport
,
CONST
D3DXMATRIX
*
projection
,
CONST
D3DXMATRIX
*
view
,
CONST
D3DXMATRIX
*
world
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec3Project
(
(
D3DXVECTOR3
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR3
*
)((
const
char
*
)
in
+
instride
*
i
),
viewport
,
projection
,
view
,
world
);
}
return
out
;
}
/*************************************************************************
* D3DXVec3TransformArray
*/
D3DXVECTOR4
*
WINAPI
D3DXVec3TransformArray
(
D3DXVECTOR4
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec3Transform
(
(
D3DXVECTOR4
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR3
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec3TransformCoordArray
*/
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformCoordArray
(
D3DXVECTOR3
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec3TransformCoord
(
(
D3DXVECTOR3
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR3
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec3TransformNormalArray
*/
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformNormalArray
(
D3DXVECTOR3
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec3TransformNormal
(
(
D3DXVECTOR3
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR3
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
/*************************************************************************
* D3DXVec3UnprojectArray
*/
D3DXVECTOR3
*
WINAPI
D3DXVec3UnprojectArray
(
D3DXVECTOR3
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
in
,
UINT
instride
,
CONST
D3DVIEWPORT9
*
viewport
,
CONST
D3DXMATRIX
*
projection
,
CONST
D3DXMATRIX
*
view
,
CONST
D3DXMATRIX
*
world
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec3Unproject
(
(
D3DXVECTOR3
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR3
*
)((
const
char
*
)
in
+
instride
*
i
),
viewport
,
projection
,
view
,
world
);
}
return
out
;
}
/*************************************************************************
* D3DXVec4TransformArray
*/
D3DXVECTOR4
*
WINAPI
D3DXVec4TransformArray
(
D3DXVECTOR4
*
out
,
UINT
outstride
,
CONST
D3DXVECTOR4
*
in
,
UINT
instride
,
CONST
D3DXMATRIX
*
matrix
,
UINT
elements
)
{
unsigned
int
i
;
TRACE
(
"
\n
"
);
for
(
i
=
0
;
i
<
elements
;
++
i
)
{
D3DXVec4Transform
(
(
D3DXVECTOR4
*
)((
char
*
)
out
+
outstride
*
i
),
(
CONST
D3DXVECTOR4
*
)((
const
char
*
)
in
+
instride
*
i
),
matrix
);
}
return
out
;
}
This diff is collapsed.
Click to expand it.
include/d3dx9math.h
+
9
−
0
View file @
0457333f
...
...
@@ -321,18 +321,26 @@ D3DXVECTOR2* WINAPI D3DXVec2CatmullRom(D3DXVECTOR2 *pout, CONST D3DXVECTOR2 *pv0
D3DXVECTOR2
*
WINAPI
D3DXVec2Hermite
(
D3DXVECTOR2
*
pout
,
CONST
D3DXVECTOR2
*
pv1
,
CONST
D3DXVECTOR2
*
pt1
,
CONST
D3DXVECTOR2
*
pv2
,
CONST
D3DXVECTOR2
*
pt2
,
FLOAT
s
);
D3DXVECTOR2
*
WINAPI
D3DXVec2Normalize
(
D3DXVECTOR2
*
pout
,
CONST
D3DXVECTOR2
*
pv
);
D3DXVECTOR4
*
WINAPI
D3DXVec2Transform
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR2
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR4
*
WINAPI
D3DXVec2TransformArray
(
D3DXVECTOR4
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformCoord
(
D3DXVECTOR2
*
pout
,
CONST
D3DXVECTOR2
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformCoordArray
(
D3DXVECTOR2
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformNormal
(
D3DXVECTOR2
*
pout
,
CONST
D3DXVECTOR2
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR2
*
WINAPI
D3DXVec2TransformNormalArray
(
D3DXVECTOR2
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR2
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR3
*
WINAPI
D3DXVec3BaryCentric
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv1
,
CONST
D3DXVECTOR3
*
pv2
,
CONST
D3DXVECTOR3
*
pv3
,
FLOAT
f
,
FLOAT
g
);
D3DXVECTOR3
*
WINAPI
D3DXVec3CatmullRom
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv0
,
CONST
D3DXVECTOR3
*
pv1
,
CONST
D3DXVECTOR3
*
pv2
,
CONST
D3DXVECTOR3
*
pv3
,
FLOAT
s
);
D3DXVECTOR3
*
WINAPI
D3DXVec3Hermite
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv1
,
CONST
D3DXVECTOR3
*
pt1
,
CONST
D3DXVECTOR3
*
pv2
,
CONST
D3DXVECTOR3
*
pt2
,
FLOAT
s
);
D3DXVECTOR3
*
WINAPI
D3DXVec3Normalize
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv
);
D3DXVECTOR3
*
WINAPI
D3DXVec3Project
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv
,
CONST
D3DVIEWPORT9
*
pviewport
,
CONST
D3DXMATRIX
*
pprojection
,
CONST
D3DXMATRIX
*
pview
,
CONST
D3DXMATRIX
*
pworld
);
D3DXVECTOR3
*
WINAPI
D3DXVec3ProjectArray
(
D3DXVECTOR3
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
pv
,
UINT
vstride
,
CONST
D3DVIEWPORT9
*
pviewport
,
CONST
D3DXMATRIX
*
pprojection
,
CONST
D3DXMATRIX
*
pview
,
CONST
D3DXMATRIX
*
pworld
,
UINT
n
);
D3DXVECTOR4
*
WINAPI
D3DXVec3Transform
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR3
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR4
*
WINAPI
D3DXVec3TransformArray
(
D3DXVECTOR4
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformCoord
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformCoordArray
(
D3DXVECTOR3
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformNormal
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR3
*
WINAPI
D3DXVec3TransformNormalArray
(
D3DXVECTOR3
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
D3DXVECTOR3
*
WINAPI
D3DXVec3Unproject
(
D3DXVECTOR3
*
pout
,
CONST
D3DXVECTOR3
*
pv
,
CONST
D3DVIEWPORT9
*
pviewport
,
CONST
D3DXMATRIX
*
pprojection
,
CONST
D3DXMATRIX
*
pview
,
CONST
D3DXMATRIX
*
pworld
);
D3DXVECTOR3
*
WINAPI
D3DXVec3UnprojectArray
(
D3DXVECTOR3
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR3
*
pv
,
UINT
vstride
,
CONST
D3DVIEWPORT9
*
pviewport
,
CONST
D3DXMATRIX
*
pprojection
,
CONST
D3DXMATRIX
*
pview
,
CONST
D3DXMATRIX
*
pworld
,
UINT
n
);
D3DXVECTOR4
*
WINAPI
D3DXVec4BaryCentric
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR4
*
pv1
,
CONST
D3DXVECTOR4
*
pv2
,
CONST
D3DXVECTOR4
*
pv3
,
FLOAT
f
,
FLOAT
g
);
D3DXVECTOR4
*
WINAPI
D3DXVec4CatmullRom
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR4
*
pv0
,
CONST
D3DXVECTOR4
*
pv1
,
CONST
D3DXVECTOR4
*
pv2
,
CONST
D3DXVECTOR4
*
pv3
,
FLOAT
s
);
...
...
@@ -340,6 +348,7 @@ D3DXVECTOR4* WINAPI D3DXVec4Cross(D3DXVECTOR4 *pout, CONST D3DXVECTOR4 *pv1, CON
D3DXVECTOR4
*
WINAPI
D3DXVec4Hermite
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR4
*
pv1
,
CONST
D3DXVECTOR4
*
pt1
,
CONST
D3DXVECTOR4
*
pv2
,
CONST
D3DXVECTOR4
*
pt2
,
FLOAT
s
);
D3DXVECTOR4
*
WINAPI
D3DXVec4Normalize
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR4
*
pv
);
D3DXVECTOR4
*
WINAPI
D3DXVec4Transform
(
D3DXVECTOR4
*
pout
,
CONST
D3DXVECTOR4
*
pv
,
CONST
D3DXMATRIX
*
pm
);
D3DXVECTOR4
*
WINAPI
D3DXVec4TransformArray
(
D3DXVECTOR4
*
pout
,
UINT
outstride
,
CONST
D3DXVECTOR4
*
pv
,
UINT
vstride
,
CONST
D3DXMATRIX
*
pm
,
UINT
n
);
#ifdef __cplusplus
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment