Автор Тема: Критика Blender (конструктивная и не очень)  (Прочитано 5615 раз)

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #15 : 07 Январь 2015, 14:52:30 »
Цитировать
видимо, ты заблуждался...
Заблуждается тот, кто заблуждается последний :)

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #16 : 07 Январь 2015, 14:56:31 »
Блендер, может быть, хорошая программа для тех, кто хочет мышкой мир покорить...
Но, для тех, кто хочет писать плагины для Блендер - Блендер самая хреновая программа в мире.

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #17 : 07 Январь 2015, 14:59:32 »
Цитировать
Че ты хочешь мне доказать?
Я???
Если я захочу тебе что-то доказать, то тема будет называться так: "Хочу доказать демону, что ангелы его сильнее!" :)

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #18 : 07 Январь 2015, 15:01:29 »
Демон, да иди ты сам по моему пути, куда ты направил.
Больше я тебе не помогаю.

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #19 : 07 Январь 2015, 15:15:39 »
:D  я и не прошу
Цитировать
Слышь, конкурент, ты б лучше помог мне с гуевиной в Блендере, чем драконовские планы строить. Прадигма есть, нужен Гуй и немножко питонова кода с итераторами...

 ;) :) :D ;D >:( :( :) >:( ;) :D :-\ :D

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #20 : 07 Январь 2015, 15:17:48 »
Уже не прошу
Дурак ты, но, для меня это хорошо :)

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #21 : 07 Январь 2015, 15:29:48 »
Думай как знаешь...
Когда-нибудь мы с тобой всё-же договоримся :) Тебе только до моих лет нужно дожить :)

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Критика Blender (конструктивная и не очень)
« Ответ #22 : 07 Январь 2015, 18:04:23 »
ладно, как скажешь...
Код

/*
 * This is a texture plugin for blender 1.60 or above.
 *
 * Dot-drawing plugin, based on a sample plugin from NaN
 * Copyright (c) 1999, Bernd Breitenbach
 *
 * $Id: dots2.c,v 1.5 1999/06/28 18:41:48 bernd Exp bernd $
 *
 */

/* ************************************************************
   NOTE: This software comes with absolute no warranty.
   You may distribute, modify and use it free of charge.
   
   If you have any enhancements or bug fixes, please let me now:

                 breitenb@iml.fhg.de
   ************************************************************ */

#include <stdio.h>
#include "math.h"
#include "plugin.h"


/* ******************** GLOBAL VARIABLES ***************** */

char name[]= "Dots";
char *release="$Revision: 1.5 $";

/* Subtype names must be less than 15 characters */

#define NR_TYPES   1
char stnames[NR_TYPES][16]= {"Dots"};

VarStruct varstr[]= {
  {LABEL|FLO,"V1.5   bb",        0,      0,   0,  ""},
  {TOG|INT,  "Single",          0.0,  0.0, 1.0,  "Creates only a single dot"},
  {NUM|FLO,  "Size",          0.25, 0.001, 1.0,  "The size of each dot"},
  {NUM|FLO,  "Noise",          0.0,  0.0, 10.0, "Noise parameter: 0. means no noise"},
  {TOG|INT,  "Smooth",          0.0,  0.0, 1.0,  "Smooth dots"},
  {TOG|INT,  "Bump",           0.0,  0.0, 1.0,  "Turn on bump-mapping"},
  {NUM|FLO,  "Bump Size",      1.0,  -5.0, 5.0,  "Height of the bumps"},
  {TOG|INT,  "No AAlias",      0.0,  0.0, 1.0,  "Turn antialias off (independent from render settings)"}
};

/* The cast struct is for input in the main doit function
   Varstr and Cast must have the same variables in the same order */

typedef struct Cast {
        float dummy;
        int  single;
   float size;
   float noise;
        int  smooth;
        int  bump;
        float  bump_size;
        int  noaalias;
} Cast;

/* result:
   Intensity, R, G, B, Alpha, nor.x, nor.y, nor.z
 */

float result[8];

/* cfra: the current frame */

float cfra;

int plugin_tex_doit(int, Cast *, float *, float *, float *);


/* ******************** Fixed functions ***************** */

int plugin_tex_getversion(void)
{   
   return B_PLUGIN_VERSION;
}

void plugin_but_changed(int but)
{
}

void plugin_init(void)
{
}

/* this function should not be changed: */

void plugin_getinfo(PluginInfo *info)
{
  info->name= name;
  info->stypes= NR_TYPES;
  info->nvars= sizeof(varstr)/sizeof(VarStruct);
   
  info->snames= stnames[0];
  info->result= result;
  info->cfra= &cfra;
  info->varstr= varstr;

  info->init= plugin_init;
  info->tex_doit=  (TexDoit) plugin_tex_doit;
  info->callback= plugin_but_changed;
}

/* ************************************************************
   Dots2
   
   This plugin is an enhancement of my dots plugin.
   It is placing  dots of size 'size' on the vertices
   of a regular triangle lattice covering the x-y-plane.
   With 'smooth' you can choose between dots with a sharp border,
   or smooth dots with a texture value that is raising
   from 0. at the border to 1. at the center.

   With bump and 'bump size' you can create dots raising from the
   plane.

   Apart from smoothing dots, anti-aliasing is performed by
   calculating the mean value from four texture values at
   the vertices of an pixel. This can be turned off by
   toggle the 'no aalias'-button
   ************************************************************ */

#define SQRT3 (1.73205080756888)
#define SQRT3_2 (SQRT3/2.)
#define BFAC (0.2)
#define EPS (0.0001)


void calc_dot_value(Cast *cast,float x,float y)
{
  float size2=cast->size*cast->size,dist2;
  float isize2=size2*0.64;
  float bsize=cast->bump_size/4.;
  float xsign=bsize,ysign=bsize;
  float val=0.;

  /* First we do a little origami: */
  if (x<0.) {
    x=fabs(x);
    xsign=-xsign;
  }
  if (y<0.) {
    y=fabs(y);
    ysign=-ysign;
  }

  if (!cast->single) {
    x=x-ffloor(x);
    y=y-ffloor(y/SQRT3)*SQRT3;

    if (x>0.5){
      x=1.-x;
      xsign=-xsign;
    }
    if (y>SQRT3_2) {
      y=SQRT3-y;
      ysign=-ysign;
    }
  }

  /* Now we have to check only two circles at (0,0) and (1/2,sqrt(3)/2) */

  dist2=x*x+y*y;

  if (dist2<=size2) {
    if (cast->smooth) {
      val=fsqrt(size2-dist2)/cast->size;
      result[0]+=val;
      if (cast->bump) {
   result[5]+=-xsign*x/cast->size;
   result[6]+=-ysign*y/cast->size;
      }
    } else {
      result[0]+=1.;
      if (cast->bump && dist2>isize2) {
   if (dist2<EPS) dist2=EPS;
   result[5]+=-xsign*x/dist2*BFAC;
   result[6]+=-ysign*y/dist2*BFAC;
      }
    }
  } else if (!cast->single) {
    x=0.5-x;
    y=SQRT3_2-y;
    dist2=x*x+y*y;
    if (dist2<=size2) {
      if (cast->smooth) {
   val=fsqrt(size2-dist2)/cast->size;
   result[0]+=val;
   if (cast->bump) {
     result[5]+=xsign*x/cast->size;
     result[6]+=ysign*y/cast->size;
   }
      } else{
   result[0]+=1.;
   if (cast->bump && dist2>isize2) {
     if (dist2<EPS) dist2=EPS;
     result[5]+=xsign*x/dist2*BFAC;
     result[6]+=ysign*y/dist2*BFAC;
   }
      }
    }
  }
}



int plugin_tex_doit(int stype, Cast *cast, float *texvec, float *dxt, float *dyt)
{
  float x,y;

  x=texvec[0];
  y=texvec[1];
  if(cast->noise>0.001) {
    x+= hnoise(cast->noise, texvec[0], texvec[1], texvec[2]);
    y+= hnoise(cast->noise, texvec[1], texvec[2], texvec[0]);
  }

  result[0]=0.;
  result[5]=0.;
  result[6]=0.;
  result[7]=0.;
  calc_dot_value(cast,x,y);

  if (!cast->noaalias && dxt && dyt) {
    float offx=fabs(dxt[0])+fabs(dxt[1]);
    float offy=fabs(dyt[0])+fabs(dyt[1]);
    calc_dot_value(cast,x+offx,y);
    calc_dot_value(cast,x,y+offy);
    calc_dot_value(cast,x+offx,y+offy);
    result[0]/=4.0;
    result[5]/=4.0;
    result[6]/=4.0;
  }

  if (cast->bump)
    return 2;
  else
    return 0;
}




... кстати, а картинка есть для теста? ...

[вложение удалено Администратором]
Для Кота

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #23 : 07 Январь 2015, 21:11:33 »
Когда-то мне сказали, что линукс был создан программистами для программистов...
Насколько мне известно, Блендер - детище линуксоидов, в последствии портированное в винду, но...
глядя на комменты sungreen, чётко представляю, что Блендер явный потомок линукса, и так же как и линукс создан программистами для программистов. Чтоб не писать много кода каждому программисту, они придумали ноды для связи программиста с программистом, а далее, как положено, пользователи учат ни кнопки, в которые нужно тыкать, а правописание на языке OSL
Блендер - это не гуи для юзера, это гуи для программиста.
« Последнее редактирование: 07 Январь 2015, 21:13:57 от LanuHum »

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #24 : 07 Январь 2015, 21:30:34 »
Расскажу подробней о сегодняшней ситуации. Иду в справку по операторам (это единственный источник, откуда ещё что-то можно откопать!)
Код
# Make annotations on the active data
bpy.ops.gpencil.draw(mode='DRAW', stroke=[])
Пишу эту хрень в скрипте - никакой реакции. Гуглю. Нашёл одно единственное решение. Один из разработчиков пишет: Хорошо, раз вы так настаиваете, я открою вам тайну,
stroke=[], на самом деле нужно писать
Код
stroke=[{"name":"", "pen_flip":False, "is_start":True, "location":(0, 0, 0),"mouse":(0,0), "pressure":1, "time":0}]
Вероятно, это сработало, ибо вопрошающий написал, что now working...
Но, не у меня. У меня ж ни 263, а 272. У меня написало, что missing "size"
Добавил всё, как положено:
Код
 bpy.ops.gpencil.draw(override,'INVOKE_REGION_WIN',mode='DRAW_POLY',  stroke=[{"name":"","size":5, "pen_flip":False, "is_start":True, "location":(0, 0, 0),"mouse":(0,0), "pressure":1, "time":0}])
Консоль перестала браниться, но, во вьпорте блендер ни хрена не нарисовал.
Если кто-то на английском повторит мой опыт, возможно, через год-три кто-то из программистов ответит, как ныне нужно правильно писать для 272, но Блендер тогда будет 386

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Критика Blender (конструктивная и не очень)
« Ответ #25 : 07 Январь 2015, 21:37:17 »
... в качестве отмазки за ослика  - не для Blender придумали, его много кто юзает, например http://help.chaosgroup.com/vray/help/200R1/examples_vrayosl.htm ...

... но если конструктивно и по теме - есть проблема (да её создали программисты), но есть и решение (его придумали тоже программисты), пользуются все кто может ...

Для Кота

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Критика Blender (конструктивная и не очень)
« Ответ #26 : 07 Январь 2015, 21:40:32 »
>> bpy.ops.gpencil.draw
... тут ничем помочь не смогу ...

#upd
>> это единственный источник, откуда ещё что-то можно откопать!
... хотя постой, а как же код из репозитарии? это тоже источник информации ...
... если поиск по коду сделать, то как раз эти строки будут ...
Код
 bpy.ops.gpencil.draw(mode='DRAW', stroke=[{"name":"", "pen_flip":False,                                  "is_start":True, "location":(0, 0, 0), "mouse":(x,y), "pressure":1, "time":0}])
« Последнее редактирование: 07 Январь 2015, 21:47:06 от sungreen »
Для Кота

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #27 : 07 Январь 2015, 21:44:32 »
Цитировать
... но если конструктивно и по теме - есть проблема (да её создали программисты), но есть и решение (его придумали тоже программисты), пользуются все кто может ...
Не знаю истинного положения, но, есть подозрение, что тот, кто всё же может - это один сумасшедший из тысяч тех, что пользуются аутодеском
Ты лучше ответь прямо: Для кого Розендал старается? Явно не для свободных существ планеты, которые искренне радеют за GPL. Явно у него отсутствует желание одарить нищих.
А, те, кто хотел одарить, типа k3d и Крыльев ушли в небытие, ибо люди верят в сказки...
« Последнее редактирование: 07 Январь 2015, 21:47:43 от LanuHum »

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Критика Blender (конструктивная и не очень)
« Ответ #28 : 07 Январь 2015, 21:53:49 »
... этого не знаю, и даже не знаю Розендаль vs Столлман ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Критика Blender (конструктивная и не очень)
« Ответ #29 : 07 Январь 2015, 22:02:01 »
... этого не знаю, и даже не знаю Розендаль vs Столлман ...
А, я знаю, что на сайте Поврея всегда очень оживлённо, всегда помогут, но, когда я им принёс экспортёр с нодами, с превью, от меня открестились, в буквальном смысле этого слова. Там никому не нужен Блендер, и, у меня есть основания понимать их. Постоянство Блендера в его непостоянстве и нестабильности.
Запусти Майю 2006 и Майю 2014, ты спокойно сможешь работать и в той и в той, то есть знаний о программе тебе будет достаточно, чтобы раз изучить и на всю жизнь, и скрипты на том языке (mal или как он там, уже забыл) писать будешь не переживая, что завтра они не заработают...

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 64
Автор: LEXA ANЭGROWND
blender.png
Скачано: 74
Автор: ipv2007
4.png
Скачано: 96
Автор: hiroyukiss
2.png
Скачано: 119
Автор: hiroyukiss

Скачано: 109
Автор: Dilifa12