Giter Club home page Giter Club logo

clinch's People

Contributors

bradwbeer avatar djuber avatar ejbs avatar fisxoj avatar gustavonmartins avatar matthewrock avatar warweasle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clinch's Issues

Triangles are outlined!

The triangles look like they have a gap between them which is filled in by the background color.

CLINCH:*LAYOUT* in clinch-pango.lisp

The macro definitions with-paragraph and print-text reference a symbol 'layout which does not exist, and is backquoted and not evaluated in print-text. This is lexical in with-paragraph, but looks special. This triggers a large number of style warnings.

Investigate Camera Implementations...

I've considered a variety of camera implementations and none fit the complete flexibility model CLinch is trying to adhere to. I've considered:

  • Subclassing Node and inverting. (Either need to rebuild hierarchy or search through tree twice with different states.)
  • Subclassing Transform and inverting scale, translate and rotate. (Does the camera class also handle the projection matrix also all this is simple for the user to negate. Simpler than creating the functions.)
  • Make the viewport the camera. Ok, that might work. I'll think about this approach.

Create REPL Texture Source

This may require making the text editor first.

Tab completion is a MUST!

I don't know how to create a remote REPL without slime, however. I can't seem to reuse it. I might need to find help with this portion.

Shaders: Delete Sub-Shaders in Init..

Also rename to Shader.lisp for consistency.

Allow option to not delete the shaders.

Add initarg to vert-shader and frag-shader.

If a shader is explicitly specified and there is no text then use the shader.

On unload, add check before deleting shader again.

Illegal :UTF-8 character starting at position 0

When trying to run either of the examples, I get the following error:

"Compiling vertex shader..." 
debugger invoked on a BABEL-ENCODINGS:INVALID-UTF8-CONTINUATION-BYTE   in thread
#<THREAD "main thread" RUNNING {1002978D73}>:
  Illegal :UTF-8 character starting at position 0.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
   0: [ABORT] Exit debugger, returning to top level.

((LABELS BABEL-ENCODINGS::UTF-8-DECODER :IN "/home/ayegill/quicklisp/dists/quicklisp/software/cffi_0.10.7.1/src/strings.lisp") #<unavailable lambda list>)
0] 

Leaving the vertex shader as an empty string lets the execution continue until it hits an identical error on compiling the fragment shader. Leaving both empty avoids the error altogether, but for obvious reasons, compiling the fragment shader fails.

DSL for shaders

The CEPL project has a DSL for shaders. It seems like it would be a pretty useful option (though perhaps only an option because it is nice to be able to copy and paste shader code into your program).

Any ideas on implementing something like this, or even better, simpling stealing this functionality from their project?

Their stuff is [L]LGPL, so it would infect the license of CLinch if it is more permissive, but I'm fine with LGPL. What is the license on CLinch?

entity :indexes

shouldnt you rename the slot (& initarg) indexes to indices? (not sure if correct english, but they are also called indices in the same file, that may be confusing)

Remove default PBOs from Texture objects.

PBOs reserve a separate space in memory which doubles the amount of space the image takes. Create a separate PBO object and a create-pbo method for textures. Also, have an option to use a specific PBO when accessing image data.

Add animation object...

We can still use functions as value items in entity objects, but I would like a convenience object to make 2D animations simpler.

Switch Clinch to exclusively SDL2

Supporting any windowing system seemed like a good idea but I (since I'm the only one using it) would like to get started more quickly. Also, this allows more features like a full event loop, timers and queuing.

Symbol "WITH-LOADED-32BIT-MAP" not found in the FREEIMAGE package.

Hello, was looking at your engine again, but, once again, I can't get the example to run! It doesn't seem like (with-loaded-32bit-map) is even an internal symbol in freeimage.

To load "clinch-freeimage":
Load 1 ASDF system:
clinch-freeimage
; Loading "clinch-freeimage"
..................................................
[package clinch-freeimage]
;
; caught ERROR:
; READ error during COMPILE-FILE:
;
; Symbol "WITH-LOADED-32BIT-MAP" not found in the FREEIMAGE package.
;
; Line: 5, Column: 34, File-Position: 114
;
; Stream: #<SB-SYS:FD-STREAM
; for "file /home/[user]/Code/CLinch/clinch-freeimage/clinch-freeimage.lisp"
; {100AA16F73}>
;
; caught ERROR:
; READ error during COMPILE-FILE:
;
; Symbol "WITH-LOADED-32BIT-MAP" not found in the FREEIMAGE package.
;
; Line: 5, Column: 34, File-Position: 114
;
; Stream: #<SB-SYS:FD-STREAM
; for "file /home/[user]/Code/CLinch/clinch-freeimage/clinch-freeimage.lisp"
; {100ABD68A3}>
;
; compilation unit aborted
; caught 3 fatal ERROR conditions
; caught 2 ERROR conditions

Garbage Collection Performace issue...

Currently, every few seconds there is a pause for garbage collection. Need to look at and modify common functions to minimize cons usage. Methods seem to be a prime offender.

More docstrings

Shouldn't docstrings be written when a function, class and slot has been written? Basically, documentation is very nice to have.

TL;DR: Docstrings are nice, lets do more of those.

Create Project Templates Directory

I would like a directory of templates for quickly bootstrapping projects. I could see one for glfw and sdl. I'm open to others as they are submitted.

The more quickly we can get a new developer up and running, the more they will like using CLinch and the more likely they will use it in the long run.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.