Hajime Hoshi
e9e5d27d2c
internal/shader: bug fix: % operators for integer vecs didn't work
...
Closes #1911
2022-11-21 01:39:20 +09:00
Hajime Hoshi
0b9cbaa1ed
internal/shader: introduce integer vectors (ivec2, ivec3, ivec4)
...
Closes #1911
2022-11-21 00:31:23 +09:00
Hajime Hoshi
7961654927
internal/graphicsdriver/metal: bug fix: wrong alignment for vec3
2022-11-20 23:14:09 +09:00
Hajime Hoshi
bba196d1ec
ebiten: allow array types for uniform variables
...
Closes #2448
2022-11-18 14:08:31 +09:00
Hajime Hoshi
1ecac8d834
all: allow integer uniform variables for Kage shaders
...
Closes #2305
Updates #2448
2022-11-13 01:49:24 +09:00
Artem Yadelskyi
10415d417a
all: replace interface{}
with any
( #2430 )
...
Closes #2429
2022-11-03 15:33:09 +09:00
Hajime Hoshi
b0b64e3610
ebiten: use premultiplied-alpha format for ColorScale
...
Closes #2361
2022-10-02 14:41:50 +09:00
Hajime Hoshi
1f70307582
ebiten: add DrawRectShaderOptions.ColorScale
...
This change also introduces a new struct ColorScale.
Closes #2361
2022-09-30 21:44:48 +09:00
Hajime Hoshi
cf92158e33
ebiten: bug fix: add an indirect function call for a fragment shader
...
Closes #2245
Closes #2247
2022-08-17 16:37:37 +09:00
Hajime Hoshi
652cd169b2
ebiten: revert the changes for DrawRectShader
...
This reverts these commits:
- 9bd46cb2b5
.
- f8c4634017
.
This causes test failures on the Steam bot. See #2246 .
Updates #2166
Closes #2246
2022-08-17 00:56:33 +09:00
Hajime Hoshi
9bd46cb2b5
ebiten: bug fix: assigning to arguments doesn't work with OpenGL
...
Updates #2166
2022-08-16 23:07:15 +09:00
Hajime Hoshi
f8c4634017
ebiten: always specify the source region at DrawRectShader
...
imageSrcRegionOnTexture should work even without any images.
Updates #2166
2022-08-16 22:43:33 +09:00
Hajime Hoshi
205245b094
internal/shader: implement a new built-in function discard
...
Closes #1969
2022-08-09 11:31:59 +09:00
Hajime Hoshi
0217ed0544
ebiten: add WritePixels replacing ReplacePixels
...
Closes #2236
2022-08-08 03:50:27 +09:00
Hajime Hoshi
c01821ca5c
internal/shader: use all functions for vector comparisons
...
Updates #2186
2022-07-09 02:30:16 +09:00
Hajime Hoshi
bac34a4474
ebiten: add NewImageWithOptions and NewImageOptions
...
This change adds NewImageWithOptions, that creates a new image with
the given options.
NewImageWithOptions takes image.Rectangle instead of a width and a
height, then a user can create an image with an arbitrary bounds.
A left-upper position can be a negative number.
NewImageWithOptions can create an unmanged image, that is no longer
on an automatic internal texture atlas. A user can have finer controls
over the image.
This change also adds tests for this function.
Updates #2013
Updates #2017
Updates #2124
2022-06-15 02:20:19 +09:00
Hajime Hoshi
2d912a2387
internal/shaderir/hlsl: bug fix: wrong offset of uniform array variables
...
Closes #2038
2022-03-27 01:49:52 +09:00
Hajime Hoshi
aef00a5235
internal/shader: bug fix: wrong type deduction at (scalar)*(matrix)
...
Updates #2037
2022-03-27 01:22:54 +09:00
Hajime Hoshi
6bd3c81e27
internal/graphicsdriver/directx, internal/graphicsdriver/metal: bug fix: uniform matrix-array variables were passed wrongly
...
Updates #2036
2022-03-27 00:32:30 +09:00
Hajime Hoshi
f6d87f6ee8
internal/graphicsdriver/directx, internal/graphicsdriver/metal: bug fix: uniform matrix variables were passed wrongly
...
Updates #2036
2022-03-26 23:58:48 +09:00
Hajime Hoshi
79e93d3b12
internal/graphicsdriver: introduce the DirectX driver
...
Closes #1007
2022-03-26 20:09:34 +09:00
Hajime Hoshi
dcccd27629
internal/shaderir/msl: bug fix: mod for a vector and a scalar didn't work
...
Updates #2029
2022-03-26 02:57:38 +09:00
Hajime Hoshi
b96b75d51c
ebiten: add TestShaderMatrixInitialize
2022-03-26 01:19:20 +09:00
Hajime Hoshi
31104c4e79
internal/processtest: remove TestShaderNoMain and add shadernomain.go
...
A shader compilation error breaks the state of the graphics command
queue, and this cannot be reused. Thus, a process test is appropriated.
2022-03-21 21:52:38 +09:00
Hajime Hoshi
81b9f91f86
internal/graphicscommand: compile shaders lazily
...
With DirectX, the graphics driver cannot be determined until the
main loop starts, as a transparent window cannot be treated with
DirectX so far. On the other hand, compiling shaders requires a
graphics driver as it requires information about Y directions of
NDCs and framebuffers.
This change delays compiling shaders until the graphics commands
are actually executed in the main loop.
Updates #1007
Updates #2019
2022-03-21 21:09:02 +09:00
Hajime Hoshi
9b1adf799d
internal/shader: move syntax tests to internal/shader
2022-03-21 19:31:06 +09:00
Hajime Hoshi
3c1e64dd67
internal/shaderir/metal: bug fix: define the 'mod' function correctly
...
Closes #2006
2022-03-04 18:05:44 +09:00
Hajime Hoshi
84c680c6ed
internal/shader: ban the operator div on a matrix
...
The operator div on a matrix doesn't work on Metal.
2022-01-21 03:37:34 +09:00
Hajime Hoshi
2e5b4954f3
internal/shader: bug fix: forbid mat + float
...
mat + float doesn't work on Metal.
2022-01-21 02:42:22 +09:00
Hajime Hoshi
99f003a17a
internal/shader: bug fix: mat *= vec is not allowed
...
Updates #1971
2022-01-21 02:03:50 +09:00
Hajime Hoshi
0415773b94
internal/shader: bug fix: allow the *= operator for a vector and a matrix
...
Updates #1971
2022-01-21 01:59:58 +09:00
Hajime Hoshi
9efabfe56e
internal/shader: add more tests
...
Updates #1971
2022-01-21 01:47:26 +09:00
Hajime Hoshi
8d2bf6525c
internal/shader: bug fix: wrong type checkings for operator *
...
Updates #1971
2022-01-21 01:06:02 +09:00
Hajime Hoshi
406b8a4a08
ebiten: add more tests
...
Updates #1963
2022-01-17 20:54:02 +09:00
Hajime Hoshi
4940159e5b
internal/shader: bug fix: operators between vec/mat and float should work
...
Closes #1963
2022-01-17 20:52:44 +09:00
Hajime Hoshi
260f7e07df
internal/shader: bug fix: deduction checks for the %
operator were lacked
2022-01-14 03:51:04 +09:00
Hajime Hoshi
d110716dc0
internal/shader: bug fix: check types correctly for assign operators
...
Closes #1950
2022-01-12 00:39:39 +09:00
Hajime Hoshi
83bd0772d4
internal/shader: bug fix: % should be valid only for integers
...
Closes #1947
2022-01-11 23:53:09 +09:00
Hajime Hoshi
374871c031
internal/shader: bug fix: a meaningless statement should raise an error (a non-call expression statement)
...
Updates #1898
2021-12-27 23:14:05 +09:00
Hajime Hoshi
481a2145ae
internal/shader: bug fix: a meaningless statement should raise an error
...
Closes #1898
2021-12-27 22:05:58 +09:00
Hajime Hoshi
d9c362bca9
ebiten: Add more tests (ShaderUnmatchedArgs)
2021-11-14 18:50:20 +09:00
Hajime Hoshi
8ae6793d4d
internal/shader: Check the number of arguments
2021-11-14 17:34:06 +09:00
r3vit
57c45a13e4
Remove dot imports from tests - Remove dot imports ( #1837 )
...
Closes #1824
2021-10-02 19:58:48 +09:00
Hajime Hoshi
d5150a194c
internal/shaderir/glfw: Insert a dummy function to touch uniform array variables
...
Closes #1754
2021-08-15 18:06:41 +09:00
Hajime Hoshi
853c1f2b92
internal/shaderir/glsl: Bug fix: Remove uncalled functions
...
Some built-in functions like dFdx is not available in a vertex shader,
then a function that calls such built-in function should not be in
a vertex shader.
Closes #1701
2021-07-09 20:22:40 +09:00
Hajime Hoshi
3b6fa891ac
internal/shader: Bug fix: Error on duplicated const/var names
...
Updates #1192
2021-04-09 00:12:17 +09:00
Hajime Hoshi
5f81065d78
internal/shader: Make function duplications error
...
Closes #1430
2021-02-07 22:24:23 +09:00
Hajime Hoshi
b1d7a5f595
shaderir/glsl: Enable dFdx for WebGL
...
With WebGL1, an extension is required for dFdx. On the other hand,
with WebGL2, GLSL ES 300 is required and the extension is forbidden.
This change fixes shaderir/glsl to switch the output depends on the
WebGL version.
This change also adds a new build tag 'ebitenwebgl1' forcing WebGL 1.
Updates #1404
2020-11-21 19:07:54 +09:00
Hajime Hoshi
c6053bcf14
ebiten: Remove the error returning value from NewImage
...
Updates #1380
2020-10-06 00:48:56 +09:00
Hajime Hoshi
fe97e7b0a5
ebiten: Remove the filter argument from NewImage and NewImageFromImage
...
Updates #503
2020-10-05 01:40:44 +09:00