7384 Commits

Author SHA1 Message Date
UnknownShadow200
9d73e2492d Integrate SharpDX into OpenTK. 2015-08-16 10:16:59 +10:00
UnknownShadow200
54afbcdb65 Combine IndexBuffer and VertexBuffer, simplify methods of setting data, use inlined fixed instead of GCHandles. 2015-08-16 06:43:37 +10:00
UnknownShadow200
cfeabc612a Remove Result struct and just use int return code. 2015-08-15 14:32:56 +10:00
UnknownShadow200
4e34637a05 Minor code cleanup. 2015-08-15 13:51:22 +10:00
UnknownShadow200
8e19e6d2fc Models now use indexed drawing. 2015-08-04 11:43:19 +10:00
UnknownShadow200
96b508a2ce Optimise even further, fix bug with sky drawing with OpenGL api. 2015-08-04 11:35:57 +10:00
UnknownShadow200
0fe78fdf3b Use indexed drawing and stackalloc in StandardEnvRenderer. 2015-08-04 08:33:00 +10:00
UnknownShadow200
1590664f68 Make IGraphicsApi even more consistent. 2015-08-04 07:17:20 +10:00
UnknownShadow200
749a1b0436 Simplify API further. 2015-08-04 07:03:20 +10:00
UnknownShadow200
efc7b0bfe6 Use stackalloc to avoid allocating index buffer on LOH, remove Is<X> methods in IGraphicsApi and make IGraphicsApi more consistent. 2015-08-04 06:32:12 +10:00
UnknownShadow200
281e815125 Significantly reduce allocation of GCHandles, replace with inlined fixed statement in GL class. 2015-08-03 20:08:04 +10:00
UnknownShadow200
dd2eb1105a Use single index buffer for all chunks. Very minor increase in performance, but does slightly reduce memory usage. 2015-08-03 19:17:53 +10:00
UnknownShadow200
618ded14e0 Add experimental optimisation of grouping vertices by faces, then skipping all vertices of a face if that face is always back facing. Improves FPS by 50 - 100 in some cases. On slower card, imrpvoed FPS by 5-30. 2015-08-03 17:25:42 +10:00
UnknownShadow200
572a52dd3c Don't call AddIndices for every single face - just do it one bulk go in ExpandCapacity(). 2015-07-31 19:57:31 +10:00
UnknownShadow200
4bf4209a4c Don't crash when the device is lost, partially addresses #30. Need to conduct more thorough testing to ensure that this works on all graphics cards. 2015-07-30 19:54:02 +10:00
UnknownShadow200
df879604f2 Major rewrite of graphics APIs: Use SharpDX instead of Managed DirectX (64 bit works now), rewrite OpenTK GL class to use calli instructions. 2015-07-28 06:53:22 +10:00
UnknownShadow200
e2d154d2c4 Cleanup in OpenTK. 2015-07-27 19:17:25 +10:00
UnknownShadow200
5f7aafc8e1 Remove Color4 and unused VirtualKey definitions. 2015-07-27 17:06:35 +10:00
UnknownShadow200
4cc1e27157 Cleanup the solution - move the client's files and folders into their own folder. 2015-07-25 06:45:14 +10:00
UnknownShadow200
f99e9eeb3a Fix crashing on close, remove file that somehow magically appeared? 2015-07-21 19:05:59 +10:00
UnknownShadow200
25d7cbda9e Combine player rendering functions into Player class, remove D3DX reference since we longer need it. 2015-07-21 18:48:51 +10:00
UnknownShadow200
0417790d6a Use much faster(6-7 times) method for taking a screenshot with Direct3D api. 2015-07-19 06:34:19 +10:00
UnknownShadow200
14e9321c44 Don't store VB in ModelPart class, don't duplicate model part construction for Set64x64 and Set64x64Slim sets in player model. 2015-07-17 16:56:26 +10:00
UnknownShadow200
7c1479526a Release 0.8. This will likely be the last work done on the client for a while. 0.8 2015-07-10 07:40:25 +10:00
UnknownShadow200
f7b40a3d21 Don't keep track of 'CurrentContext', don't pass opengl version to game window constructor as it is unnecessary, don't bother with reflection because we only really need to load 51 delegates. 2015-07-10 07:07:19 +10:00
UnknownShadow200
54119d0281 Remove ContextHandle and just use IntPtr, cache DC in WindowsGLContext, use native platform GetCurrentContext delegate in GraphicsContext. 2015-07-10 06:30:09 +10:00
UnknownShadow200
1dc09ca9f3 Add VSync support to Direct3D api. 2015-07-09 10:20:26 +10:00
UnknownShadow200
062758a7b0 Implement proper resizing handling in Direct3D api. 2015-07-09 10:10:33 +10:00
UnknownShadow200
7346c8f361 Oops, BottomRight should be the other way around. 2015-07-08 07:10:40 +10:00
UnknownShadow200
ed169f7140 Implement auto scrolling chat history mode, with no concept of pages. Can use mouse and page up/page down keys to scroll through chat. No longer have to press 'H' to activate this mode. 2015-07-08 07:06:21 +10:00
UnknownShadow200
87230dca45 Fully support PlayerClick extension, and declare that we support it. 2015-07-07 07:58:20 +10:00
UnknownShadow200
36560403ff Oops, that was a very silly mistake. 2015-07-06 19:50:17 +10:00
UnknownShadow200
b5e4f73d8c Make screens responsible for enable/disable texture2d calls. 2015-07-06 19:46:45 +10:00
UnknownShadow200
d6bbf39432 Don't bind to buffer 0 since we always use vertex buffers. 2015-07-06 19:34:01 +10:00
UnknownShadow200
5d1fbbb578 Fix block info screen not correctly updating the texture. 2015-07-06 19:32:02 +10:00
UnknownShadow200
9436afb3f3 Simplify classes that load unmanaged functions statically or dynamically. Remove unncessary namespaces from many declarations in both GL delegates and core class. 2015-07-06 18:04:32 +10:00
UnknownShadow200
8687378509 Simplify AGL class, remove code that was used for GLControl. 2015-07-06 11:04:00 +10:00
UnknownShadow200
a78ddb6979 Make AGL api more consistent. 2015-07-06 10:46:31 +10:00
UnknownShadow200
69e1050ee1 Standardise usings in MacOS api. 2015-07-06 10:22:48 +10:00
UnknownShadow200
ed37fab04a Client now sends player click if server supports it. Still incorrectly misses some clicks. 2015-07-06 10:09:38 +10:00
UnknownShadow200
fa30faf812 Refactor 2D text drawing to be simpler. Refactor IModel class - use the player argument directly, rather than copying them to fields for every different model. Move LocationUpdate structure into its own file. 2015-07-05 19:59:26 +10:00
UnknownShadow200
43a7e35d64 Do more accurate model picking with rotated AABBs, make sure to only return closest player in model picking. 2015-07-04 14:26:19 +10:00
UnknownShadow200
e23b5aeda5 Move model size functionality to model classes. Add separate bounding boxes for collision and picking. Add function to rotate points around Y axis. 2015-07-03 09:20:46 +10:00
UnknownShadow200
ae1105d5d9 Change skeleton and zombie angles to degrees, use face culling on translucent blocks when the player isn't inside a translucent blocks. 2015-07-03 07:11:50 +10:00
UnknownShadow200
71a26da049 Replace degrees with radians in spider model. 2015-07-02 09:13:26 +10:00
UnknownShadow200
e97ff0da1f Add basic function for model picking. Needs to be addressed by #29. 2015-07-02 08:00:38 +10:00
UnknownShadow200
e95429dbef Move player handling into new EntityList class. 2015-07-02 07:50:14 +10:00
UnknownShadow200
152133d95c Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
UnknownShadow200
273f4f5611 Remove samples/stereo from GraphicsMode, remove some other unused constructors and exceptions. 2015-07-02 06:33:19 +10:00
UnknownShadow200
ec0cb6b997 Do not create temp window when choosing a pixel format on Windows. Simplify X11 glx api and choosing functions. 2015-07-01 16:58:24 +10:00