csystem / softart Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/softart
License: Other
Automatically exported from code.google.com/p/softart
License: Other
Project build guide 1. Requirements * Windows 7 or later * Visual Studio 2012 update 4 or later version. * Boost 1.55 or later. Please use boost 1.56 if your compiler is Visual Studio 2013. * Python 2.7. * CMake 2.8.10 or later. * Linux * Mint 16 and Mint 17 were tested. * GCC 4.7 or later. * Boost 1.55 or later. * Python 2.7. * CMake 2.8.10 or later. 2. Build steps * Run build_all.py which is located at root of project. * If it is the first run of build_all.py, an configuration file "proj.py" will be generated. * Edit proj.py after read the comments of the file. * If build tool is visual studio, vs solution file will be generated in sub folder of 'build'. 3. REMARK * Each configuration was built once build_all.py was run. But visual studio supports multiple configuratoin in one project. You should modify proj.py and execute build_all.py with different configuration, such as RelWithDebInfo or Debug. If you have any questions, please contact: wuye9036 _at_ gmail _dot_ com ---------------------------- 如果您是**用户,您可以从OSChina的Git托管站点上下载: https://git.oschina.net/wuye9036/SALVIA.git 首先请确认您的机器上具有: Windows平台: 1. Visual Studio 2012 Update 4; 2. Boost 1.55 或以上版本。如果你使用Visual Studio 2013请使用Boost 1.56或以上; 3. Python 2.7; 4. CMake 2.8.10或以上版本,如果使用Visual Studio 2013请使用对应的CMake版本; Linux平台: 1. GCC 4.7或以上版本; 2. Boost 1.55或以上版本; 3. Python 2.7; 4. CMake 2.8.10或以上版本。 运行build_all.py文件。如果您是首次运行该脚本,它会生成proj.py文件。 打开proj.py文件,阅读说明并修改配置。 再次运行build_all.py,便可以等待其直到编译结束。 如果您使用的是Visual Studio,sln文件会生成在您指定的 build_root 的目录下。 注意事项: 和Visual Studio默认的多配置工程不同,脚本一次只会编译一个配置(Debug, RelWithDebInfo等等)。 如果需要在工程文件中自由切换配置,需要您多次修改proj.py中的config并执行build_all.py,随后您就可以在Solution中自由切换Configuration并编译了。 如果您有任何疑问或建议,请邮件至: wuye9036 _at_ gmail _dot_ com
DepthStencil state, Sampler state, Blend state and Rasterizer state should
be modified to D3D10 style.
1. Each state object have responding a desc struct.
2. A state object can't be changed after its inited by the desc struct.
Original issue reported on code.google.com by minmin.gong
on 21 Apr 2010 at 6:56
JIT engine is need for testing generated code.
It is the prototype, and prefer to be reused in SASL JIT Engine.
Original issue reported on code.google.com by wuye9036
on 21 Sep 2010 at 6:50
syntax tree combinator is a generator for creating a syntax tree manual.
And semantic action invoked by parser can use it also.
Original issue reported on code.google.com by wuye9036
on 30 Aug 2010 at 8:24
softart\eflib\include\pool.h
这个类中的recycled_pool,分配内存会当机。
重现方法,用SampleWindow渲染10次box:
for(float i = 0 ; i < 10 ; i ++)
{
mat_translate(world , -0.5f + i * 0.5 , 0 , -0.5f
+ i * 0.5);
mat_mul(wvp, mat_mul(wvp, proj, view), world);
pvs->set_constant(_T("WorldViewProjMat"), &wvp);
box_mesh->render();
}
Original issue reported on code.google.com by [email protected]
on 13 Mar 2010 at 4:17
Function overload is the base of type promotion.
We need 2 mechanisms to support it:
1. Type implicit conversation
2. Name mangling
Following steps are possible way to implement it:
1. Implement name mangling.
2. Implenent implicit type conversation. It is also the sub-part of type
conversation.
3. Write code for function prototype chosen.
Original issue reported on code.google.com by wuye9036
on 25 Sep 2010 at 10:32
Supports Anistropic Filtering (AF). The best choise currently is EWA-based AF.
Original issue reported on code.google.com by minmin.gong
on 2 Jun 2010 at 3:41
当使用tex2d函数时,会导致光栅化在多线程当机。发现
rasterizer::rasterize_triangle_impl中有如下代码
// TODO: This is not thread safe
hps_->ptriangleinfo_ = &info;
Original issue reported on code.google.com by [email protected]
on 13 Mar 2010 at 2:18
Add initializer & function combinators.
Original issue reported on code.google.com by wuye9036
on 13 Sep 2010 at 5:08
Following need to be implemented:
1. If-then-else statement.
2. While-do statement.
3. Do-while statement.
4. For statement.
Original issue reported on code.google.com by wuye9036
on 18 Jan 2011 at 7:46
Design and impl API for code compilation and JIT.
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:12
Generate platform-dependent code from syntax tree.
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:09
In CMakeLists.txt, adds
* Disable warning C4819
* Warning level increase to 4
Original issue reported on code.google.com by minmin.gong
on 16 Apr 2010 at 3:41
Write a python wrapper for softart.
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:17
[deleted issue]
new Bitmap returns NULL.
Original issue reported on code.google.com by minmin.gong
on 24 Apr 2010 at 12:20
As title.
Original issue reported on code.google.com by wuye9036
on 20 Jan 2011 at 3:17
Finish semantic anaysis of softart.
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:07
SampleWindow底部的plane,把创建参数改成如下,会出现如图的bug
:
planar_mesh = create_planar(
hsr.get(),
vec3(-3.0f, -1.0f, -3.0f),
vec3(6, 0.0f, 0.0f),
vec3(0.0f, 0.0f, 6),
1, 1, true
);
原来的参数是
planar_mesh = create_planar(
hsr.get(),
vec3(-3.0f, -1.0f, -3.0f),
vec3(0.5f, 0.0f, 0.0f),
vec3(0.0f, 0.0f, 0.5f),
20, 20, true
);
原来是20*20个矩形共800个三角形组成一个平面。改成2个三角��
�组成一个平面后出现如图的bug
Original issue reported on code.google.com by [email protected]
on 14 Mar 2010 at 10:47
Attachments:
当三角形在近剪裁面的前面和后面时,会导致这个三角形要��
�不可见,要么颜色不正确。
Original issue reported on code.google.com by [email protected]
on 13 Mar 2010 at 4:15
The semantic tests have to be migrated to fit semantic analysis.
The origin version semantic was extracted from syntax node,
and in new version, the semantic must get from symbol.
So symbol tests are pre-requried by others.
Original issue reported on code.google.com by wuye9036
on 15 Dec 2010 at 5:40
user file of vs2010 was changed from vs200x. so the corresponding cmake
section as following may be updated.
function(ogre_create_vcproj_userfile TARGETNAME)
if (MSVC)
configure_file(
${CMAKE_HOME_DIRECTORY}/cmake/VisualStudioUserFile.vcproj.user.in
${CMAKE_CURRENT_BINARY_DIR}/${TARGETNAME}.vcproj.user
@ONLY
)
endif ()
endfunction(ogre_create_vcproj_userfile)
otherwise the debugging target is wrong.
and another question is that the rc file is not included in the project. It
is so strange... But we will need a solution yet.
Thanks for attention.
Original issue reported on code.google.com by wuye9036
on 15 Apr 2010 at 6:25
Constant expression could be translated to llvm value tree.
In this issue, we need implements following things:
- Semantic analysis:
- Make sure the expression is a constant expression. Now we need support literal constant and expression composited by it only. Constant variable consider later.
- Translate value to llvm supported, and save them in a instance of class "constant semantic info"
- Code generation:
- translate literal constant value to llvm::Value object, and construct the expression tree.
- Write test about it.
And the type of literal constant we only support int32 & uint32.
More types support will be added later.
Original issue reported on code.google.com by wuye9036
on 20 Sep 2010 at 4:37
We can do it as following steps:
1. Add a function w/o parameter and void return type.
2. Change the function sig to return a integer.
3. Return a constant integer. Before do it, we need a jit tester.
4. Add parameter a and b, return a + b. a & b are integers.
5. Do other things. We will create another branch to do it.
Original issue reported on code.google.com by wuye9036
on 16 Sep 2010 at 8:56
We can compare two nodes who have the same subnodes by recursive comparison
operation.
Original issue reported on code.google.com by wuye9036
on 3 Sep 2010 at 3:55
generated code can simulate SIMD execution.
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:10
打开宏SOFTARTX_FREEIMAGE_ENABLED后,欲编译tex_io_freeimage,但编译��
�败。
Original issue reported on code.google.com by [email protected]
on 13 Mar 2010 at 2:20
Supports MSAA, SSAA, CSAA. Sampling pattern is customable.
Original issue reported on code.google.com by minmin.gong
on 2 Jun 2010 at 3:39
Current presenters are used by #ifdef. It'll be too complex if more
presenters are added. Put one presenter into a DLL project and loads at
runtime can solve this problem.
Original issue reported on code.google.com by minmin.gong
on 18 May 2010 at 9:31
1. Add semantic analysis to parameter & test it.
2. Add code generation to parameter & test it.
Original issue reported on code.google.com by wuye9036
on 21 Sep 2010 at 3:02
Implement the rasterizer in LRB paper.
Original issue reported on code.google.com by minmin.gong
on 2 Jun 2010 at 3:42
Create a structure combinator.
PARENT: Issue 20
Original issue reported on code.google.com by wuye9036
on 1 Sep 2010 at 6:40
Constant expression could be translated to llvm value tree.
In this issue, we need implements following things:
- Semantic analysis:
- Make sure the expression is a constant expression. Now we need support literal constant and expression composited by it only. Constant variable consider later.
- Translate value to llvm supported, and save them in a instance of class "constant semantic info"
- Code generation:
- translate literal constant value to llvm::Value object, and construct the expression tree.
- Write test about it.
And the type of literal constant we only support int32 & uint32.
More types support will be added later.
Original issue reported on code.google.com by wuye9036
on 20 Sep 2010 at 4:38
As title.
Original issue reported on code.google.com by wuye9036
on 10 Jan 2011 at 4:38
While the tile_size changed from 256 to 32, the memory usage will
improvement very quickly( about 100 MB per second ).
maybe there are some memory leaks on clipping.
Original issue reported on code.google.com by wuye9036
on 15 Apr 2010 at 11:08
Add softart shader stages API
Original issue reported on code.google.com by wuye9036
on 31 Aug 2010 at 3:15
Since better reuse, we refactory structure of code related to test cases.
Now tests be composited by 2 parts.
1. test configuration and data files located in test/test_resources.
2. objects we want to test. it is located in path test/test_cases.
3. test suites. one test suite is organized by an project. located in
test/<test_project_name>
4. regression test. regression test includes all tests. It should be executed
when regressing or integration. the code is in test/regression_test.
Original issue reported on code.google.com by wuye9036
on 17 Sep 2010 at 12:24
rc file is marked as "Does not participate in build" in VS2010 project.
It's a cmake issue. All rc files should be selected as "Resource Compiler"
in "Item type" manually.
Original issue reported on code.google.com by minmin.gong
on 16 Apr 2010 at 6:37
Overall, four parts need to be implemented.
1. Statements,
2. Delcarations,
3. Type specifiers,
4. Expressions.
But we want to complete declaration translation first.
And corresponded tests need to added into test cases.
Original issue reported on code.google.com by wuye9036
on 25 Jan 2011 at 1:06
Hi,
I ported your idea of SystemInfo.cmake to SOCI project
(here is my version
https://github.com/denisarnaud/soci/blob/master/src/cmake/SociSystemInfo.cmake)
and I notice that GCC_VERSION variable is not set on Unix.
This variable is used in line 58
http://code.google.com/p/softart/source/browse/trunk/sasl/build/cmake/SystemInfo
.cmake?r=368#58
but GCC is queried for version only for MinGW in line 40:
http://code.google.com/p/softart/source/browse/trunk/sasl/build/cmake/SystemInfo
.cmake?r=368#40
Simply, it only needs to move the exec_program from if(MINGW) somewhere at the
top of the script and change the condition to if(MINGW OR UNIX).
Also, this
... "gcc-"${GCC_VERSION})
should read
"gcc-${GCC_VERSION}")
otherwise there is a space between hyphen and version number.
Thanks for the very nice idea of this script!
Original issue reported on code.google.com by mloskot
on 24 Dec 2010 at 1:41
1. buildin scalar type conversations.
2. buildin vector/matrix type conversations.
3. customized type conversations.
Original issue reported on code.google.com by wuye9036
on 25 Sep 2010 at 10:37
CMake缺乏FreeImage Library导致FreeImage找不到Lib链接。
注意FreeImage的Library是分x86,x64 / vs8,vs9 的。
Original issue reported on code.google.com by wuye9036
on 17 Mar 2010 at 8:01
We need to translate buildin_type to llvm::Type*.
Two steps we work with issue:
1. Translate buildin types which is correspond to llvm basic types.
2. Translate complex types.
PARENT Issue 22
Original issue reported on code.google.com by wuye9036
on 20 Sep 2010 at 8:35
Add type conversation support to llvm code generation and semantic analysis.
First, we will implement type conversation between sasl buildin types.
Int-Int conversation is good for starting.
Original issue reported on code.google.com by wuye9036
on 23 Sep 2010 at 6:10
As title.
Original issue reported on code.google.com by wuye9036
on 21 Dec 2010 at 1:38
I found that the current name of this project is not search-engine friendly. I
think we need a new name before the first release of this project.
If you have any idea, please let me know, via email or comment on this issue.
Following tips may help you:
- It's a high frequenty used word in english or other latin language;
- Less than 10 characters;
- Nouns or Adjective + Nouns is better;
- Prefer to concrete things in real world, or a common concept for logo design;
- Implicit or explicit related to color, drawing or rendering concept is a good idea.
Thank you for paticipation, and don't hesitate to ask me if you have any
question or advise.
Original issue reported on code.google.com by wuye9036
on 20 Sep 2010 at 3:16
Do semantic analysis and convert syntax_tree::program to llvm::module.
PARENT Issue 21
PARENT Issue 22
Original issue reported on code.google.com by wuye9036
on 13 Sep 2010 at 1:08
Add function name mangling to semantic analysis.
PARENT Issue 41
Original issue reported on code.google.com by wuye9036
on 25 Sep 2010 at 10:33
1. A vertex bounded sample
2. A sample using stencil buffer
Original issue reported on code.google.com by minmin.gong
on 2 Jun 2010 at 3:44
一个透明方盒子,前面和后面的三角形就是互相重叠的
透明box渲染的时候,有些三角形一时后面的在前,有些三角��
�一时前面的在前。
revision
94的SampleWindow在多线程渲染模式下编译后可以重现这个现象。
Original issue reported on code.google.com by [email protected]
on 15 Mar 2010 at 5:25
create statement combinators.
Original issue reported on code.google.com by wuye9036
on 1 Sep 2010 at 10:13
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.